#ifndef _MEDIAPAK_ENTRYHEADER_HPP_ #define _MEDIAPAK_ENTRYHEADER_HPP_ #ifndef _COMMON_OPENFILE_HPP_ #include #endif class EntryHeader { public: EntryHeader(void); EntryHeader(const EntryHeader &someEntryHeader); virtual ~EntryHeader(); EntryHeader &operator=(const EntryHeader &someEntryHeader); bool operator==(const EntryHeader &someEntryHeader)const; bool read(FileHandle &someFileHandle); bool write(FileHandle &someFileHandle); int entryLength(void)const; void entryLength(int entryLength); int entryType(void)const; void entryType(int entryType); int entryID(void)const; void entryID(int entryID); int entryNameLength(void)const; void entryNameLength(int entryNameLength); private: int mEntryLength; int mEntryType; int mEntryID; int mEntryNameLength; }; inline EntryHeader::EntryHeader(void) : mEntryLength(0), mEntryType(0), mEntryID(0), mEntryNameLength(0) { } inline EntryHeader::EntryHeader(const EntryHeader &someEntryHeader) { *this=someEntryHeader; } inline EntryHeader::~EntryHeader() { } inline EntryHeader &EntryHeader::operator=(const EntryHeader &someEntryHeader) { entryLength(someEntryHeader.entryLength()); entryType(someEntryHeader.entryType()); entryID(someEntryHeader.entryID()); entryNameLength(someEntryHeader.entryNameLength()); return *this; } inline bool EntryHeader::operator==(const EntryHeader &someEntryHeader)const { return (entryLength()==someEntryHeader.entryLength()&& entryType()==someEntryHeader.entryType()&& entryID()==someEntryHeader.entryID()&& entryNameLength()==someEntryHeader.entryNameLength()); } inline bool EntryHeader::read(FileHandle &someFileHandle) { if(!someFileHandle.isOkay())return false; return someFileHandle.read((unsigned char*)&mEntryLength,sizeof(mEntryLength)+sizeof(mEntryType)+sizeof(mEntryID)+sizeof(mEntryNameLength)); } inline bool EntryHeader::write(FileHandle &someFileHandle) { if(!someFileHandle.isOkay())return false; return someFileHandle.write((unsigned char*)&mEntryLength,sizeof(mEntryLength)+sizeof(mEntryType)+sizeof(mEntryID)+sizeof(mEntryNameLength)); } inline int EntryHeader::entryLength(void)const { return mEntryLength; } inline void EntryHeader::entryLength(int entryLength) { mEntryLength=entryLength; } inline int EntryHeader::entryType(void)const { return mEntryType; } inline void EntryHeader::entryType(int entryType) { mEntryType=entryType; } inline int EntryHeader::entryID(void)const { return mEntryID; } inline void EntryHeader::entryID(int entryID) { mEntryID=entryID; } inline int EntryHeader::entryNameLength(void)const { return mEntryNameLength; } inline void EntryHeader::entryNameLength(int entryNameLength) { mEntryNameLength=entryNameLength; } #endif