Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cRIFFBlock Class Referenceabstract

#include <cRIFF.h>

Inheritance diagram for GrayLib::cRIFFBlock:
Gray::cRefBase GrayLib::cRIFFHead IUnknown GrayLib::cRIFFChunk GrayLib::cRIFFList

Public Member Functions

 cRIFFBlock (FOURCC nTypeChunk, RIFF_SIZE_t nSize)
 
virtual ~cRIFFBlock ()
 
virtual bool isListType () const =0
 
HRESULT WriteStream (cStreamOutput *pFile) const
 
- Public Member Functions inherited from Gray::cRefBase
 cRefBase (int iRefCount=0) noexcept
 
virtual ~cRefBase ()
 
int get_RefCount () const noexcept
 
HASHCODE_t get_HashCode () const noexcept
 
 STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept
 
virtual void onFinalRelease ()
 
bool isValidObj () const noexcept
 
 STDMETHOD_ (ULONG, AddRef)(void) override
 
 STDMETHOD_ (ULONG, Release)(void) override
 
STDMETHOD() QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override
 
void IncRefCount ()
 
void DecRefCount ()
 
bool isStaticConstruct () const noexcept
 
void StaticConstruct ()
 
void StaticDestruct ()
 
bool isDestructing () noexcept
 
void SetDestructing ()
 
- Public Member Functions inherited from GrayLib::cRIFFHead
 cRIFFHead (FOURCC nTypeChunk=FOURCC_0, RIFF_SIZE_t nDataSize=0)
 
bool isListType () const
 
bool isPadded () const
 
RIFF_SIZE_t get_RawSize () const
 
RIFF_SIZE_t get_DataSize () const
 
HRESULT WriteChunk (cStreamOutput *pOut) const
 
HRESULT ReadChunk (cStreamInput &stmIn)
 

Static Public Member Functions

static HRESULT GRAYCALL ReadStreamUnk (cStreamInput &strIn, cRefPtr< cRIFFBlock > *ppRet)
 

Protected Member Functions

virtual HRESULT ReadStreamBody (cStreamInput &strIn)=0
 
virtual HRESULT WriteStreamBody (cStreamOutput *pFile) const =0
 

Additional Inherited Members

- Public Attributes inherited from GrayLib::cRIFFHead
FOURCC m_nTypeChunk
 chunk ID. i.e. 'RIFF','LIST','FORM' FOURCC_RIFF or 'data' for non list (MMCKINFO ckid) More...
 
RIFF_SIZE_t m_nDataSize
 chunk size (bytes) including m_nTypeList not including align/pad byte. (MMCKINFO cksize) More...
 

Detailed Description

Base for any sort of RIFF chunk/block. list or regular chunk. Base class for a RIFF chunk/data block loaded into memory. (Maybe m_Data loaded on demand)

Constructor & Destructor Documentation

◆ cRIFFBlock()

GrayLib::cRIFFBlock::cRIFFBlock ( FOURCC  nTypeChunk,
RIFF_SIZE_t  nSize 
)
inline

◆ ~cRIFFBlock()

virtual GrayLib::cRIFFBlock::~cRIFFBlock ( )
inlinevirtual

Member Function Documentation

◆ isListType()

virtual bool GrayLib::cRIFFBlock::isListType ( ) const
pure virtual

◆ ReadStreamBody()

virtual HRESULT GrayLib::cRIFFBlock::ReadStreamBody ( cStreamInput strIn)
protectedpure virtual

◆ ReadStreamUnk()

HRESULT GRAYCALL GrayLib::cRIFFBlock::ReadStreamUnk ( cStreamInput strIn,
cRefPtr< cRIFFBlock > *  ppRet 
)
static

read a riff chunk of unknown type.

Note
AVIX format allows multiple RIFF blocks in sequence in the same file to allow for data > 2G

◆ WriteStream()

HRESULT GrayLib::cRIFFBlock::WriteStream ( cStreamOutput pFile) const

Write out the chunk.

◆ WriteStreamBody()

virtual HRESULT GrayLib::cRIFFBlock::WriteStreamBody ( cStreamOutput pFile) const
protectedpure virtual

The documentation for this class was generated from the following files: