107 lines
3.2 KiB
C++
107 lines
3.2 KiB
C++
#pragma once
|
|
|
|
#include <SunAuth/AuthProtocol_CF.h>
|
|
|
|
typedef util::cSTRING_BUFFER<MAX_WORLD_NAME_LEN+1> AUTH_WORLD_NAME_T;
|
|
typedef DWORD AUTH_WORLD_ID_T;
|
|
|
|
typedef util::cSTRING_BUFFER<MAX_CHANNEL_NAME_LEN> AUTH_CHANNEL_NAME_T;
|
|
typedef DWORD AUTH_CHANNEL_ID_T;
|
|
|
|
typedef DWORD AUTH_USER_KEY_T;
|
|
typedef util::cSTRING_BUFFER<MAX_IPADDRESS_SIZE+1> 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<sChannelInfoByAuth> 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) {}
|
|
//};
|