34 lines
712 B
C++
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;
|
|
};
|
|
|
|
|