#ifndef _CHAT_PAKENTRY_HPP_ #define _CHAT_PAKENTRY_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_GLOBALDATA_HPP_ #include #endif class PakEntry { public: enum EntryType{Sound,Bitmap,Blob}; PakEntry(void); PakEntry(const PakEntry &pakEntry); virtual ~PakEntry(); PakEntry &operator=(const PakEntry &pakEntry); BOOL operator==(const PakEntry &pakEntry)const; EntryType type(void)const; void type(EntryType entryType); const String &name(void)const; void name(const String &name); int id(void)const; void id(int id); GlobalData &rawData(void); void rawData(GlobalData &rawData); private: EntryType mEntryType; int mID; String mName; GlobalData mRawData; }; inline PakEntry::PakEntry(void) { } inline PakEntry::PakEntry(const PakEntry &pakEntry) { *this=pakEntry; } inline PakEntry::~PakEntry() { } inline PakEntry &PakEntry::operator=(const PakEntry &pakEntry) { type(pakEntry.type()); name(pakEntry.name()); rawData(((PakEntry&)pakEntry).rawData()); return *this; } inline BOOL PakEntry::operator==(const PakEntry &pakEntry)const { return (type()==pakEntry.type()&& name()==pakEntry.name()&& ((PakEntry&)*this).rawData()==((PakEntry&)pakEntry).rawData()); } inline PakEntry::EntryType PakEntry::type(void)const { return mEntryType; } inline void PakEntry::type(EntryType entryType) { mEntryType=entryType; } inline const String &PakEntry::name(void)const { return mName; } inline void PakEntry::name(const String &name) { mName=name; } inline int PakEntry::id(void)const { return mID; } inline void PakEntry::id(int id) { mID=id; } inline GlobalData &PakEntry::rawData(void) { return mRawData; } inline void PakEntry::rawData(GlobalData &rawData) { mRawData=rawData; } #endif