// vim:ts=8 sw=4 #ifndef __INC_ITEM_AWARD_H #define __INC_ITEM_AWARD_H #include #include #include "Peer.h" typedef struct SItemAward { DWORD dwID; char szLogin[LOGIN_MAX_LEN+1]; DWORD dwVnum; DWORD dwCount; DWORD dwSocket0; DWORD dwSocket1; DWORD dwSocket2; char szWhy[ITEM_AWARD_WHY_MAX_LEN+1]; bool bTaken; bool bMall; } TItemAward; class ItemAwardManager : public singleton { public: ItemAwardManager(); virtual ~ItemAwardManager(); void RequestLoad(); void Load(SQLMsg * pMsg); std::set * GetByLogin(const char * c_pszLogin); void Taken(DWORD dwAwardID, DWORD dwItemID); // gift notify std::map& GetMapAward(); std::map >& GetMapkSetAwardByLogin(); private: // ID, ItemAward pair std::map m_map_award; // PID, ItemAward pair std::map > m_map_kSetAwardByLogin; }; #endif