#pragma once #include "XMLParser.h" #include #include #include #include class UserInfo; typedef std::map< std::string, UserInfo* > USER_INFO_MAP; typedef USER_INFO_MAP::iterator USER_INFO_MAP_ITER; class UserInfoParser : public Singleton { public: UserInfoParser(void); ~UserInfoParser(void); BOOL Load( char* pszFileName ); VOID UnLoad(); UserInfo* GetUserInfo( DWORD dwUserGuid ); UserInfo* GetUserInfo( const char* pszID, const char* pszPass, const char* pszIP ); UserInfo* GetUserInfo( const char* pszID ); //ID¸¸ üũ.. DWORD GetUserInfoSize(){ return (DWORD)m_mapUserInfo.size(); } BOOL AddNewUser( const char* pszID, const char* pszPass, BYTE byGrade, const char* pszIP ); VOID GetUserIDTotalInfo( USER_ID_TOTAL_INFO& TotalInfo ); BOOL ModifyPassword( const TCHAR* pszID, const TCHAR* pszModifyPass ); BOOL ModifyPassword( DWORD dwUserKey, const TCHAR* pszModifyPass ); USER_INFO_MAP_ITER Begin(){ return m_mapUserInfo.begin(); } USER_INFO_MAP_ITER End(){ return m_mapUserInfo.end(); } private: BOOL _ModifyPassword( const TCHAR* pszID, const TCHAR* pszModifyPass ); private: XMLParser m_XMLParser; USER_INFO_MAP m_mapUserInfo; util::CObjKeyGenerator<> m_ObjKeyGenerator; };