#pragma once #include "XMLParser.h" #include #include #include class AccessInfo; typedef util::SolarHashTable ACCESS_INFO_HASH; typedef ACCESS_INFO_HASH::iterator ACCESS_INFO_HASH_ITR; class AccessInfoParser : public Singleton { public: AccessInfoParser(void); ~AccessInfoParser(void); public: BOOL Load( char* pszFileName ); VOID UnLoad(); DWORD GetAccessInfoNum() { return m_AccessInfoHash.GetDataNum(); } AccessInfo* GetAccessInfo( DWORD dwUserKey ) { return m_AccessInfoHash.GetData( dwUserKey ); }; BOOL InsertUser( DWORD dwUserKey ); BOOL SerializeStreamForUser( DWORD dwUserKey, SERVER_ACCESS_TOTAL_INFO& info, BOOL bSave ); BOOL SyncAllUserRight(); inline ACCESS_INFO_HASH_ITR Begin() { return m_AccessInfoHash.begin(); } inline ACCESS_INFO_HASH_ITR End() { return m_AccessInfoHash.end(); } private: XMLParser m_XMLParser; ACCESS_INFO_HASH m_AccessInfoHash; };