#pragma once #include //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ // // class ICompressConverter : public IParser { protected: struct sCOMPRESS_INFO { sCOMPRESS_INFO() : IParserPtr(0), CompressSz(0), PlainSz(0) {} sCOMPRESS_INFO( const DWORD compressSz, const DWORD plainSz ) : IParserPtr(0), CompressSz(compressSz), PlainSz(plainSz) {} IParser* IParserPtr; DWORD CompressSz; DWORD PlainSz; }; typedef STLX_MAP SCRIPT_COMPRESS_INFO_TABLE; typedef SCRIPT_COMPRESS_INFO_TABLE::iterator SCRIPT_COMPRESS_INFO_TABLE_IT; public: ICompressConverter() {} virtual ~ICompressConverter() {} virtual VOID Release(); //¿ø·¡ÀÇ ¼Ö¶ó·Îµå´Â ´Ù¸¥ ½ºÅ©¸³Æ®ÆÄ¼­¿¡¼­´Â Á¤ÀÇÇÏÁö ¾Ê´Â´Ù. IParser¿¡¼­ °á±¹ LoadScript¸¦ È£ÃâÇϱ⠶§¹®ÀÌ´Ù. //±×·±µ¥ ¿©±â¼­ÀÇ SloarLoadÀÇ ¾ÐÃàµÈ µ¥ÀÌÅ͸¦ Ǫ´Â Àǹ̸¦ °¡Áø ÇÔ¼öÀÌ´Ù. µû¶ó¼­ ÀçÁ¤ÀÇ ÇØÁØ´Ù. //ÀçÁ¤ÀÇ ÇÏ´Â ÀÌÀ¯´Â IParserÀÇ SolarLoad¿¡¼­´Â µ¥ÀÌÅ͸¦ ÇØ¼®Çؼ­ Å×ÀÌºí ±¸Á¶±îÁö ¸¸µé±â ¶§¹®ÀÌ´Ù. µû¶ó¼­ ÀüÇô ´Ù¸¥ ·ÎÁ÷ÀÌ ÇÊ¿äÇÏ´Ù. virtual BOOL SolarLoad( eSCRIPT_CODE ScriptCode, BYTE* pSTREAM, DWORD dwSize, BOOL bBigData ); virtual BOOL LoadScript( eSCRIPT_CODE ScriptCode, BOOL bReload ){ __UNUSED((ScriptCode, bReload)); return FALSE; } public: VOID SetCompressInfo( const eSCRIPT_CODE scriptCode, const DWORD compressSz, const DWORD plainSz ); // protected: SCRIPT_COMPRESS_INFO_TABLE m_CompressInfos; }; class IParserInMaster : public ICompressConverter { public: IParserInMaster() {} virtual ~IParserInMaster() {} VOID SetParser( const eSCRIPT_CODE scriptCode, IParser* const pParser ); virtual BOOL SolarLoad( eSCRIPT_CODE ScriptCode, BYTE* pSTREAM, DWORD dwSize, BOOL bBigData ); virtual BOOL LoadScript( eSCRIPT_CODE ScriptCode, BOOL bReload ) { __UNUSED((ScriptCode, bReload)); return FALSE; } }; //¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ // // class MasterScriptParserManager : public ScriptParserManager { public: MasterScriptParserManager(void); ~MasterScriptParserManager(void); public: // GAMESERVER¿¡ ƯȭµÊ.. °¢ ¼­¹ö¿¡ ƯȭµÈ ÆÄ¼­ ·Îµå ÇÔ¼ö¸¦ ¿©±â¼­ ¼±¾ð. virtual VOID InitParserPool( VOID* pPoolOption ); virtual BOOL RegisterParser(); virtual VOID DestroyInstanceEx(); public: inline VOID SetCompressInfo( const eSCRIPT_CODE scriptCode, const DWORD compressSz, const DWORD plainSz ) { m_CompressConverter.SetCompressInfo( scriptCode, compressSz, plainSz ); } private: IParserInMaster m_CompressConverter; };