Files
Sun1602/Server/SolarAuth/Information/ServerList/ServerInfo.h
T
2022-10-26 12:25:11 +08:00

62 lines
1.4 KiB
C++

#pragma once
#include "IServerInfo.h"
#include <Include/FileListLoader.h>
#include <Information/ScriptLoader.h>
#include <Information/SolarAcceptableMasterServerListLoader.h>
//
//
//
//
// 파일로부터 마스터별 서버정보를 읽는다.
class ServerListFromFile : public IServerInfo
{
public:
ServerListFromFile();
~ServerListFromFile();
public:
virtual VOID Init( PSERVERLIST_ARGS arguments );
virtual VOID Release();
virtual BOOL Load( const CHAR* pszFileName, DWORD dwMasterIP, ServerTreeINFO*& OUT rPServerTreeInfo, BOOL bReload );
VOID LoadDataHandler( ACCEPTABLE_MASTER_SERVER_INFO_DELEGATOR rINFO );
private:
static INT ParseInfoSection( PVOID pPassingPtr, AttrTag tagName );
private:
BOOL m_bInited;
CHAR m_TagName[32];
};
struct MSG_SX_CONNECTION_REQ_SERVER_INFO_ACK;
struct sSERVERLISTFROMDB_ARGS : public sSERVERLIST_ARGS
{
sSERVERLISTFROMDB_ARGS() { m_MAGIC = this->FROMDB; }
MSG_SX_CONNECTION_REQ_SERVER_INFO_ACK* m_SVR_LIST;
};
//
// DB로부터 마스터별 서버정보를 읽는다.
class ServerListFromDB : public IServerInfo
{
public:
ServerListFromDB();
~ServerListFromDB();
public:
virtual VOID Init( PSERVERLIST_ARGS arguments );
virtual VOID Release();
virtual BOOL Load( const CHAR* pszFileName, DWORD dwMasterIP, ServerTreeINFO*& OUT rPServerTreeInfo, BOOL bReload );
private:
BOOL m_bInited;
MSG_SX_CONNECTION_REQ_SERVER_INFO_ACK* m_pMsgACK;
};