#ifndef _SAMPLE_GENERICCHUNK_HPP_ #define _SAMPLE_GENERICCHUNK_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_GLOBALDATA_HPP_ #include #endif #ifndef _COMMON_MEMFILE_HPP_ #include #endif #ifndef _COMMON_OPENFILE_HPP_ #include #endif #ifndef _SAMPLE_CHUNKID_HPP_ #include #endif class GenericChunk : public GlobalData { public: GenericChunk(void); GenericChunk(const GenericChunk &someGenericChunk); virtual ~GenericChunk(); GenericChunk &operator=(const GenericChunk &someGenericChunk); bool operator==(const GenericChunk &someGenericChunk)const; bool write(MemFile &memFile)const; bool read(FileHandle &handle); const ChunkID &chunkID(void)const; DWORD chunkLength(void)const; private: ChunkID mChunkID; }; inline GenericChunk::GenericChunk(void) { } inline GenericChunk::GenericChunk(const GenericChunk &someGenericChunk) { *this=someGenericChunk; } inline GenericChunk::~GenericChunk() { } inline GenericChunk &GenericChunk::operator=(const GenericChunk &someGenericChunk) { mChunkID=someGenericChunk.mChunkID; return *this; } inline bool GenericChunk::operator==(const GenericChunk &someGenericChunk)const { return (mChunkID==someGenericChunk.mChunkID&& (GlobalData&)*this==(GlobalData&)someGenericChunk); } inline DWORD GenericChunk::chunkLength(void)const { return mChunkID.size()+size()+sizeof(DWORD); } inline const ChunkID &GenericChunk::chunkID(void)const { return mChunkID; } #endif