#pragma once //============================================================================================================================= /// ScriptListLoader class /** @author Lee Eun-pa @since 2006. 08. 11 @remark - SolarAuthServer @note - SolarAuthServer ¿¡¼­ ÀоîµéÀÌ´Â ½ºÅ©¸³Æ® ¸ñ·ÏÀ» ÀоîµéÀ̴ Ŭ·¡½º @history - */ //============================================================================================================================= #include #include // // // #pragma pack(push, 1) typedef struct sSCRIPT_RECORD_INFO { BYTE m_byScriptIndex; // 0 BYTE m_byIsReLoad; // 2 CHAR m_strFileName[64]; // 1 } SCRIPT_RECORD_INFO; #pragma pack(pop) // // // typedef Delegator SCRIPT_RECORD_INFO_DELEGATOR; typedef std::map SCRIPT_RECORD_INFO_HASH; typedef SCRIPT_RECORD_INFO_HASH::iterator SCRIPT_RECORD_INFO_HASH_IT; typedef std::pair SCRIPT_RECORD_INFO_PAIR; // // // class ScriptListLoader { public: ScriptListLoader(); ~ScriptListLoader(); public: VOID Release(); BOOL Load( const CHAR* pszFileName, BOOL bReload = FALSE ); BOOL LoadDataAll( BOOL bReload = FALSE ); SCRIPT_RECORD_INFO_DELEGATOR& GetScriptInfo( DWORD scriptIndex ); private: VOID _Init(); VOID _ReleaseNode( SCRIPT_RECORD_INFO_PAIR record ); private: VOID _ReleaseScriptLoader( ACCEPTABLE_MASTER_SERVER_INFO* pINFO ); VOID _LoadData( SCRIPT_RECORD_INFO_DELEGATOR& rINFO, SCRIPT_LOADER loader, const CHAR* pszRelativePath, BOOL bReload ); VOID _LoadDataAll( ACCEPTABLE_MASTER_SERVER_INFO_DELEGATOR rINFO ); private: // BOOL m_bInited; SCRIPT_RECORD_INFO_HASH m_ScriptListInfo; SCRIPT_RECORD_INFO_DELEGATOR m_EmptyRecord; }; //------------------------------------------------------------------ // Singleton by Private //class ScriptListLoader //{ //private: // ScriptListLoader(); // ~ScriptListLoader(); // //public: // static ScriptListLoader* s_Instance; // static ScriptListLoader* GetInstance() // { // if( s_Instance ) // return s_Instance; // // s_Instance = new ScriptListLoader(); // return s_Instance; // } //};