IReaderHelper Class Reference

Helper to read basic EBML types. More...

Inherited by CReaderHelper.

List of all members.

Public Member Functions

virtual void release (void)=0
 Tells this object it won't be used anymore.
Standard EBML value reading
Parameters:
pBuffer[in] : The buffer containing data
ui64BufferSize[in] : The buffer size in bytes
Returns:
The value contained in the buffer

Be sure to look at http://ebml.sourceforge.net/specs/ in order to understand standard EBML types.

virtual EBML::uint64 getUIntegerFromChildData (const void *pBuffer, const EBML::uint64 ui64BufferSize)=0
 Gets an unsigned integer from the given buffer.
virtual EBML::int64 getSIntegerFromChildData (const void *pBuffer, const EBML::uint64 ui64BufferSize)=0
 Gets a signed integer from the given buffer.
virtual EBML::float64 getFloatFromChildData (const void *pBuffer, const EBML::uint64 ui64BufferSize)=0
 Gets a float from the given buffer.
virtual const char * getASCIIStringFromChildData (const void *pBuffer, const EBML::uint64 ui64BufferSize)=0
 Gets an ASCII string from the given buffer.

Protected Member Functions

virtual ~IReaderHelper (void)
 Virtual destructor - should be overloaded.

Detailed Description

Helper to read basic EBML types.

Author:
Yann Renard (INRIA/IRISA)
Date:
2006-08-07 This class may be used by a IReaderCallback instance in order to correctly parse simple types defined in the EBML description such as integers, floats, strings etc...

A similar class exists to help formating process... See EBML::IWriterHelper for more details.

Be sure to look at http://ebml.sourceforge.net/specs/ in order to understand what EBML is and how it should be used.

Todo:

float80 reading implementation

date reading implementation

utf8 string reading implementation


Member Function Documentation

virtual const char* getASCIIStringFromChildData ( const void *  pBuffer,
const EBML::uint64  ui64BufferSize 
) [pure virtual]

Gets an ASCII string from the given buffer.

Warning:
The returned value is not permanent. It should be copied immediatly somewhere else by the caller.
virtual void release ( void  ) [pure virtual]

Tells this object it won't be used anymore.

Instances of this class can not be instanciated another way than calling createReaderHelper. They can not be deleted either because the destructor is. protected. The library knows how to create and delete an instance of this class... Calling release will simply delete this instance and handle necessary cleanings when needed.

The current object is invalid after calling this function. It can not be used anymore.