#pragma once #include #include class User; class UserSession; typedef util::SolarHashTable USER_HASH; typedef USER_HASH::iterator USER_HASH_ITR; class UserManager : public Singleton { 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; };