#ifndef _SERVER_SESSION_FACTORY_H_ #define _SERVER_SESSION_FACTORY_H_ #include #include #include class ServerSession; class TempServerSession; class BattleServerSession; class FieldServerSession; class GameDBProxySession; class AccountDBProxySession; class AgentServerSession; class MasterServerSession; class GuildServerSession; class ServerSessionFactory : public util::Singleton { public: ServerSessionFactory(); ~ServerSessionFactory(); ServerSession* AllocServerSession( eSERVER_TYPE eServerType ); BOOL FreeServerSession( ServerSession * pServerSession ); private: util::CMemoryPoolFactory *m_pTempServerPool; util::CMemoryPoolFactory *m_pBattleServerPool; util::CMemoryPoolFactory *m_pFieldServerPool; util::CMemoryPoolFactory *m_pGameDBProxyPool; util::CMemoryPoolFactory *m_pAccountDBProxyPool; util::CMemoryPoolFactory *m_pAgentServerPool; util::CMemoryPoolFactory *m_pMasterServerPool; #if !defined(_NA002635_GZ_DZ_PROTOCOL_UINIFICATION) util::CMemoryPoolFactory *m_pGuildServerPool; #endif }; #endif // __SERVER_SESSION_FACTORY_H__