Files
2022-10-26 12:25:11 +08:00

58 lines
1.6 KiB
C++

#pragma once
/************************************************************************/
/* XML에서 읽어드린 서버 정보를 저장 / 관리 하는 클래스 */
/************************************************************************/
#include <PublicStruct.h>
#include <Constant.h>
#include <vector>
#include "DataInfo.h"
class ServerInfo
{
public:
ServerInfo(void);
~ServerInfo(void);
#ifdef __20080312__SOLARAUTH_SERVER_PATCH
//////////////////////////////////////////////////////////////////////////
typedef std::vector<DataInfo> DATA_FOLDER_LIST;
typedef DATA_FOLDER_LIST::iterator DATA_FOLDER_LIST_ITER;
public:
VOID AddDataInfo( const DataInfo& rhs);
BOOL RemoveDataInfo( const DataInfo& rhs);
BOOL IsHave( const DataInfo& rhs ) const;
VOID SerializeScriptFolderStream( SCRIPTFOLDER_TOTAL_INFO& INOUT rSCFolderInfo, BOOL bSave = FALSE );
//.//
ServerInfo& operator= ( const ServerInfo& rhs );
private:
DATA_FOLDER_LIST m_DataList;
//////////////////////////////////////////////////////////////////////////
#endif //__20080312__SOLARAUTH_SERVER_PATCH
private:
SERVER_INFO_EX m_ServerInfoEx;
DWORD m_dwAgentKey;
public:
VOID SetAgentKey( DWORD dwAgentKey );
DWORD GetAgentKey(){ return m_dwAgentKey; }
SERVER_INFO_EX& GetServerInfoEx() { return m_ServerInfoEx; }
VOID GetServerInfo( SERVER_INFO* pServerInfo );
//Serialize
VOID SerializeStream( SERVER_INFO_EX& INOUT rServerInfo, BOOL bSave );
//XML과 관계없이 서버의 현재 상태를 저장하는 함수
public:
VOID SetServerStatus( eSERVER_STATUS status );
eSERVER_STATUS GetServerStatus();
};