dbusermanager.h
来自「奇迹世界data 服务器代码,研究游戏的朋友有帮助」· C头文件 代码 · 共 63 行
H
63 行
#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 + =
减小字号Ctrl + -
显示快捷键?