#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 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 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 * pvList); void GetCommandListByPID(int nPID, std::vector * pvList); const TNetExcuteCommand * GetCommand(int nSID); const TFtpInfo * GetFtpInfo() { return m_FtpInfoList[0]; } private: std::vector m_FtpInfoList; std::map m_NetLauncherList; std::map m_ExcuteCmdList; std::map m_PartitionList; TCHAR m_szServiceIP[IPLENMAX]; USHORT m_nServicePort; void ClearData(); };