EBML processing class. More...
Inherited by CReader, and CReader.
Public Member Functions | |
virtual EBML::boolean | processData (const void *pBuffer, const EBML::uint64 ui64BufferSize)=0 |
Processes a chunk of data. More... | |
virtual EBML::CIdentifier | getCurrentNodeIdentifier (void) const =0 |
Gets the identifier of the current node. More... | |
virtual EBML::uint64 | getCurrentNodeSize (void) const =0 |
Gets the size of the current node. More... | |
virtual void | release (void)=0 |
Tells this object it won't be used anymore. More... | |
Protected Member Functions | |
virtual | ~IReader (void) |
Virtual destructor - should be overloaded. | |
Detailed Description
EBML processing class.
- Date
- 2006-08-07 This class should be used in order to parse an EBML stream. It should be given a callback object that can handle the content of the stream. The parser itself as no understanding of what is included in the EBML structure.
The parsing interface looks like the eXpat XML parser, allowing on-the-fly parsing. See http://expat.sourceforge.net for more details.
To create instances of this class, the user has to call EBML::createReader. To delete instances of this class, the user has to call EBML::IReader::release.
Be sure to look at http://ebml.sourceforge.net/specs/ in order to understand what EBML is and how it should be used.
Member Function Documentation
|
pure virtual |
Processes a chunk of data.
- Parameters
-
pBuffer [in] : The buffer of data to process ui64BufferSize [in] : The buffer size in bytes
- Returns
- true when data processing was ok
- false in other cases.
This function has to be called as soon as the stream reader (file, socket, whatever) has data. Those data are sent to the parser and parsing for this chunk is started immediatly. The callback object is called according to the EBML structure contained in the chunk and the previously parsed chunks. See EBML::IReaderCallback for more details on the callback object.
|
pure virtual |
Gets the identifier of the current node.
- Returns
- the identifier of the current node
|
pure virtual |
Gets the size of the current node.
- Returns
- the size of the current node
|
pure virtual |
Tells this object it won't be used anymore.
Instances of this class can not be instanciated another way than calling createReader
. 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.
Generated on Tue Jun 26 2012 15:25:54 for Documentation by 1.7.4