Files
Work/avifile/LSTCHNK.HPP
2024-08-07 09:12:07 -04:00

77 lines
1.5 KiB
C++

#ifndef _AVIFILE_AVILISTCHUNK_HPP_
#define _AVIFILE_AVILISTCHUNK_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_FILE_HPP_
#include <common/file.hpp>
#endif
//#ifndef _COMMON_PUREVIEWOFFILE_HPP_
//#include <common/pview.hpp>
//#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
class AVIListChunk
{
public:
enum ChunkType{Header,Movie,Stream,Index,Info,Record,OpenDML,Unknown};
AVIListChunk(void);
AVIListChunk(const AVIListChunk &someAVIListChunk);
virtual ~AVIListChunk();
AVIListChunk &operator=(const AVIListChunk &someAVIListChunk);
WORD operator==(const AVIListChunk &someAVIListChunk)const;
ChunkType chunkType(void)const;
bool read(File &inFile);
// WORD operator<<(PureViewOfFile &pureView);
String toString(void)const;
private:
void chunkType(ChunkType chunkType);
ChunkType mChunkType;
};
inline
AVIListChunk::AVIListChunk(void)
: mChunkType(Unknown)
{
}
inline
AVIListChunk::AVIListChunk(const AVIListChunk &someAVIListChunk)
{
*this=someAVIListChunk;
}
inline
AVIListChunk::~AVIListChunk()
{
}
inline
AVIListChunk &AVIListChunk::operator=(const AVIListChunk &someAVIListChunk)
{
chunkType(someAVIListChunk.chunkType());
return *this;
}
inline
WORD AVIListChunk::operator==(const AVIListChunk &someAVIListChunk)const
{
return chunkType()==someAVIListChunk.chunkType();
}
inline
AVIListChunk::ChunkType AVIListChunk::chunkType(void)const
{
return mChunkType;
}
inline
void AVIListChunk::chunkType(AVIListChunk::ChunkType chunkType)
{
mChunkType=chunkType;
}
#endif