Files
2022-10-26 12:25:11 +08:00

34 lines
712 B
C++

#pragma once
#include <Singleton.h>
#include <SolarHashTable.h>
class User;
class UserSession;
typedef util::SolarHashTable<UserSession *> USER_HASH;
typedef USER_HASH::iterator USER_HASH_ITR;
class UserManager : public Singleton<UserManager>
{
public:
UserManager(void);
~UserManager(void);
VOID Init( DWORD dwUserSize );
VOID Release();
BOOL AddUser( UserSession* pUserSession );
BOOL RemoveUser( DWORD dwUserKey );
UserSession* GetUser( DWORD dwUserKey ) { return m_pUserHashTable->GetData( dwUserKey ); }
DWORD GetNumberOfUsers() { return m_pUserHashTable->GetDataNum(); }
VOID SendPacketAll( MSG_BASE * pMsg, WORD wSize );
private:
USER_HASH * m_pUserHashTable;
};