DragonNest/Server/NetLauncher/DataManager.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

83 lines
No EOL
1.6 KiB
C++

#pragma once
struct TNetExcuteCommand
{
int nSID; //생성되는 서버의 고유번호
int nInstIdx;
TCHAR szWorldName[WORLDNAMELENMAX];
TCHAR szType[NAMELENMAX];
int nAssignedLauncherID;
WCHAR szExcuteFile[EXCUTELENMAX];
WCHAR szCmd[EXCUTECMDMAX];
};
struct TNetLauncher
{
int nPID; //종속되는 파티션 아이디
int nID;
TCHAR szIP[IPLENMAX];
unsigned long nIP;
std::vector <TNetExcuteCommand*> ExcuteList;
};
enum eURLType
{
_URLTYPE_STRUCTINFO,
_URLTYPE_RESOURCE,
_URLTYPE_EXE,
_URLTYPE_PARTIAL_RESOURCE,
};
struct TURLInfo
{
int nType;
TCHAR szInfo[256];
};
struct TFtpInfo
{
TCHAR szIP[IPLENMAX];
unsigned short nPort;
TCHAR szID[IDLENMAX];
TCHAR szPass[PASSWORDLENMAX];
std::vector <TURLInfo> URLList;
};
struct TPartitionInfo
{
TCHAR szPartitionName[256];
int nPID;
};
class CDataManager
{
public:
CDataManager();
~CDataManager();
static CDataManager * GetInstance();
bool LoadData();
int VarifyNetLauncher(unsigned long nIP);
const TCHAR * GetIP() { return m_szServiceIP; }
const TNetLauncher * GetLauncherInfo(unsigned int nIP);
int GetLauncherCnt() { return (int)m_NetLauncherList.size(); }
void GetCommandList(std::vector <int> * pvList);
void GetCommandListByPID(int nPID, std::vector <int> * pvList);
const TNetExcuteCommand * GetCommand(int nSID);
const TFtpInfo * GetFtpInfo() { return m_FtpInfoList[0]; }
private:
std::vector <TFtpInfo*> m_FtpInfoList;
std::map <unsigned long, TNetLauncher*> m_NetLauncherList;
std::map <int, TNetExcuteCommand*> m_ExcuteCmdList;
std::map <int, TPartitionInfo*> m_PartitionList;
TCHAR m_szServiceIP[IPLENMAX];
USHORT m_nServicePort;
void ClearData();
};