📄 dbusermanager.h
字号:
#pragma once
#include <MemoryPoolFactory.h>
#include <SolarHashTable.h>
using namespace util;
class DBUser;
class DBUserManager
{
public:
DBUserManager(void);
~DBUserManager(void);
VOID Init( DWORD dwPlayerPoolSize );
VOID UpdatePlayer();
VOID Release();
template <class ObjectOperator>
VOID Foreach( ObjectOperator & op )
{
DBUser * pUser = NULL;
m_pUserHashTable->SetFirst();
while( ( pUser = m_pUserHashTable->GetNext() ) != NULL )
{
op( pUser );
}
}
VOID DestroyUser( DWORD dwUserKey );
VOID DestroyUserFromCacheList( DWORD dwUserKey );
//----------------------------------------------------------------------------------
// 烹拌, 叼滚弊侩 窃荐
//----------------------------------------------------------------------------------
inline DWORD GetNumberOfPlayers() { return m_pUserHashTable->GetDataNum(); }
inline DWORD GetNumberOfCachedPlayers() { return m_pCachedUserHashTable->GetDataNum(); }
public:
DBUser * FindUser( DWORD dwUserKey );
DBUser * _RemoveUser( DWORD dwUserKey );
VOID _AddUser( DBUser * pUser );
VOID _FreeUser( DBUser * pUser );
DBUser * _AllocUser();
DBUser * CreateUser_AddList( DWORD dwUserKey );
DBUser * FindUserFromCacheList( DWORD dwUserKey );
VOID MoveUserFromCacheList( DWORD dwUserKey );
VOID MoveUserToCacheList( DWORD dwUserKey );
VOID AddUserToCacheList( DBUser * pUesr );
DBUser * RemoveUserFromCacheList( DWORD dwUserKey );
private:
CMemoryPoolFactory<DBUser> * m_pUserPool;
SolarHashTable<DBUser *> * m_pUserHashTable;
SolarHashTable<DBUser *> * m_pCachedUserHashTable;
};
extern DBUserManager g_DBUserManager;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -