#pragma once #include typedef util::cSTRING_BUFFER AUTH_WORLD_NAME_T; typedef DWORD AUTH_WORLD_ID_T; typedef util::cSTRING_BUFFER AUTH_CHANNEL_NAME_T; typedef DWORD AUTH_CHANNEL_ID_T; typedef DWORD AUTH_USER_KEY_T; typedef util::cSTRING_BUFFER AUTH_GAMESERVER_IP; enum eAGE_T { eAGE_NONE = 0, eAGE_15 = 15, eAGE_18 = 18, }; struct sWorldInfoByAuth; struct sChannelInfoByAuth; ////////////////////////////////////////////////////////////////////////// // class AuthInfo { public: DECL_CONST_MEMBER INVALID_IDX = (DWORD)-1; public: AuthInfo() { _Release(); } ~AuthInfo() { _Release(); } public: void Initialize(AUTH_WORLD_ID_T maxWorldCount); bool AddGroupInfo(const GROUP_DATA& group_data); bool AddServerInfo(const SERVER_DATA& server_data); bool GetServer(SERVER_DATA* server_data, int group_index, int server_index); //sWorldInfoByAuth* GetWorldByIndex(AUTH_WORLD_ID_T worldIDX); //sChannelInfoByAuth* GetChannelByIndex(AUTH_WORLD_ID_T worldIDX, AUTH_CHANNEL_ID_T channelIDX); //sWorldInfoByAuth* AddWorldInfo(AUTH_WORLD_ID_T worldIDX, AUTH_WORLD_NAME_T& rWORLD_NAME); //BOOL AddChannelInfo(BYTE byUniqueIdx, AUTH_WORLD_ID_T worldIDX, AUTH_CHANNEL_NAME_T& rCHANNEL_NAME); //BYTE* GetAuthChannelStatusList() { return m_byAuthChannelList; } BOOL SetConnectingGameServerInfo( AUTH_USER_KEY_T authKey, BYTE pSerialKey[AUTH_SERIAL_KEY_LEN], CHAR* pGameServerIP, WORD wGameServerPort); BOOL GetConnectingGameServerInfo( AUTH_USER_KEY_T* OUT pAuthKey, BYTE* OUT pSerialKey, util::cSTRING_REF_RW* pStrIP, WORD* OUT pwGameServerPort); private: void _Release(); struct { BYTE group_data_num_; GROUP_DATA group_data_list_[MAX_GROUP]; }; struct { BYTE channel_list_num_; GROUP_DATA* group_link_[MAX_SVR]; SERVER_DATA server_list_[MAX_SVR]; }; struct { // ¼­¹ö ÀÎÁõ Á¤º¸ °ü·Ã AUTH_USER_KEY_T m_dwAuthUserKey; BYTE m_SerialKey[AUTH_SERIAL_KEY_LEN]; AUTH_GAMESERVER_IP m_strGameServerIP; WORD m_wGameServerPort; }; // ¼­¹ö »óÅ °ü·Ã BYTE m_byAuthChannelList[MAX_SVR]; }; //////////////////////////////////////////////////////////////////////////// //struct sChannelInfoByAuth //{ // BYTE UNIQUEIDX; // AUTH_WORLD_ID_T WORLDIDX; // AUTH_CHANNEL_ID_T CHANNELIDX; // AUTH_CHANNEL_NAME_T NAME; // // sChannelInfoByAuth() : UNIQUEIDX(-1), WORLDIDX(AuthInfo::INVALID_IDX), CHANNELIDX(AuthInfo::INVALID_IDX) {} //}; // //typedef STLX_VECTOR CHANNEL_LIST; // //struct sWorldInfoByAuth //{ // AUTH_WORLD_ID_T WORLDIDX; // eAGE_T AGE; // CHANNEL_LIST CHANNELS; // AUTH_WORLD_NAME_T NAME; // // sWorldInfoByAuth() : WORLDIDX(AuthInfo::INVALID_IDX), AGE(eAGE_NONE) {} //};