Files
Work/mediapak/entryhdr.hpp
2024-08-07 09:16:27 -04:00

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