#include <ClassContainer.hpp>
Inheritance diagram for ClassContainer:
Public Member Functions | |
ClassContainer () | |
virtual | ~ClassContainer () |
virtual Box * | addNewBox (const char *type) |
Box * | getBox (const char *type) |
Box * | getBoxRecursive (const char *type) |
void | removeAll () |
void | encodeAll (BufferManager *containerBuffer) |
void | decodeAll (BufferManager *containerBuffer) |
UInt32 | estimateMemberSize () |
Protected Attributes | |
Vector< Box * > | boxes |
ClassContainer::ClassContainer | ( | ) |
ClassContainer::~ClassContainer | ( | ) | [virtual] |
Box * ClassContainer::addNewBox | ( | const char * | type | ) | [virtual] |
Create and add a new box with specified type (one of IsoBoxTypes)
type | As one of IsoBoxTypes |
Reimplemented in DataReferenceBox.
void ClassContainer::decodeAll | ( | BufferManager * | containerBuffer | ) |
Decode the data in provided BufferManager object, put decoded data in respective composed objects
void ClassContainer::encodeAll | ( | BufferManager * | containerBuffer | ) |
Encode all composition objects into the provided BufferManager object, all allocations required are done here internally
UInt32 ClassContainer::estimateMemberSize | ( | ) |
Estimate the overall size of all composition objects
Box * ClassContainer::getBox | ( | const char * | type | ) |
Get first box of given type in collection, NULL if not found
type | As one of IsoBoxTypes |
Box * ClassContainer::getBoxRecursive | ( | const char * | type | ) |
Scans the contained boxes recursively for a given type. Returns the first occurance of the box encountered that matches the type. Always returns NULL for classes that cannot contain other classes according to ISO/IEC 14496-12:2005(E).
type | The type of box to look for |
Reimplemented in MovieBox, TrackBox, MediaBox, MediaInformationBox, DataInformationBox, and SampleTableBox.
void ClassContainer::removeAll | ( | ) |
Remove and free all composition objects
Vector<Box *> ClassContainer::boxes [protected] |