Files
2022-10-26 12:25:11 +08:00

45 lines
1.3 KiB
C++

#pragma once
#include "XMLParser.h"
#include <Singleton.h>
#include <ObjKeyGenerator.h>
#include <map>
#include <string>
class UserInfo;
typedef std::map< std::string, UserInfo* > USER_INFO_MAP;
typedef USER_INFO_MAP::iterator USER_INFO_MAP_ITER;
class UserInfoParser : public Singleton<UserInfoParser>
{
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;
};