129 lines
2.7 KiB
C++
129 lines
2.7 KiB
C++
#ifndef _MEDIAPAK_ENTRYHEADER_HPP_
|
|
#define _MEDIAPAK_ENTRYHEADER_HPP_
|
|
#ifndef _COMMON_OPENFILE_HPP_
|
|
#include <common/openfile.hpp>
|
|
#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 |