#ifndef __GM_LIST_H__ #define __GM_LIST_H__ #pragma once #include #include #include #include #ifdef __NA_20070102_GMIP_CHECK #include #endif using namespace util; // GMList.h/cpp ´õ ÀÌ»ó »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. Ȥ½Ã¶óµµ GM üũ¿¡ »ç¿ëÇÏÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù(¼ºÇöâ) enum eGM_GRADE { eGM_GRADE_NORMAL = 0, // ÀϹÝÀÎ eGM_GRADE_ONE, eGM_GRADE_TWO, eGM_GRADE_THREE, eGM_GRADE_SUPER, }; #ifndef __NA_20070102_GMIP_CHECK struct eDATE_TYPE { WORD m_wYear; WORD m_wMonth; WORD m_wDay; }; #define MAX_DATE_LENGTH 11 struct GM_INFO { WORD m_wIndex; // À妽º TCHAR m_szID[ID_MAX_LEN]; // °èÁ¤ ID TCHAR m_szPW[PASSWD_MAX_LEN]; // °èÁ¤ PassWord char m_szIP[IP_MAX_LEN]; // IP BYTE m_byGrade; // ±ÇÇÑ µî±Þ TCHAR m_szDepartment[MAX_TITLEID_LENGTH]; // ºÎ¼­ TCHAR m_szName[MAX_CHARNAME_LENGTH]; // À̸§ TCHAR m_szRole[MAX_TITLEID_LENGTH]; // ´ã´ç¾÷¹« eDATE_TYPE m_eExpireDate; // ¸¸·á³¯Â¥ }; #endif typedef std::map< std::string, GM_INFO*> GM_LIST_MAP; typedef GM_LIST_MAP::iterator GM_LIST_MAP_ITER; // GMList Ŭ·¡½º ´õ ÀÌ»ó »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. Ȥ½Ã¶óµµ GM üũ¿¡ »ç¿ëÇÏÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù(¼ºÇöâ) // Â÷ÈÄ ³¯ Àâ¾Æ¼­ ÀüºÎ Á¦°Å(¶Ç´Â ÁÖ¼®Ã³¸®)ÇÒ ¿¹Á¤ÀÔ´Ï´Ù // ===> »ç¿ëÇÒ Áöµµ ¸ð¸¨´Ï´Ù. ¿ì¼± º¸·ùÇÕ´Ï´Ù. ( 2007³â 1¿ù 10ÀÏ Á¶Àç½Ä ) class GMList : public Singleton, public IParser { public: enum { MAX_DEFAULT_POOL_SIZE = 50 }; GMList(); ~GMList(); VOID Release(); BOOL Load( TCHAR* pszFileName, BOOL bReload = FALSE ); VOID Reload(); GM_INFO* FindGM( const TCHAR *pszUserID ); BOOL AddGM( GM_INFO* pInfo ); GM_LIST_MAP_ITER Begin(){ return m_mapGMList.begin(); } GM_LIST_MAP_ITER End(){ return m_mapGMList.end(); } private: BOOL _LoadGMList( util::SolarFileReader& sr, BOOL bReload ); #ifdef __NA_000252_20070208_VERSION_GMCMD virtual BOOL ILoad( eSCRIPT_CODE ScriptCode, BYTE* pSTREAM, DWORD dwSize ); virtual BOOL _LoadEx( eSCRIPT_CODE ScriptCode, util::SolarFileReader& sr, BOOL bReload ); #else virtual BOOL ILoad( SCRIPT_CODE_T scriptCode, BYTE* pSTREAM, DWORD dwSize ); #endif #ifdef __NA_20070102_GMIP_CHECK VOID SerializeGMListStream( GM_TOTAL_INFO& TotalInfo, BOOL bSave ); #endif private: GM_LIST_MAP m_mapGMList; TCHAR m_pszGMListName[MAX_PATH]; }; #endif // __GM_LIST_H__