ClassContainer Class Reference

#include <ClassContainer.hpp>

Inheritance diagram for ClassContainer:

DataInformationBox DataReferenceBox IsoYUVFile MediaBox MediaInformationBox MovieBox SampleTableBox TrackBox List of all members.

Public Member Functions

 ClassContainer ()
virtual ~ClassContainer ()
virtual BoxaddNewBox (const char *type)
BoxgetBox (const char *type)
BoxgetBoxRecursive (const char *type)
void removeAll ()
void encodeAll (BufferManager *containerBuffer)
void decodeAll (BufferManager *containerBuffer)
UInt32 estimateMemberSize ()

Protected Attributes

Vector< Box * > boxes

Detailed Description

Class ClassContainer, used to compose (not just aggregate) other Box class objects


Constructor & Destructor Documentation

ClassContainer::ClassContainer (  ) 

ClassContainer::~ClassContainer (  )  [virtual]


Member Function Documentation

Box * ClassContainer::addNewBox ( const char *  type  )  [virtual]

Create and add a new box with specified type (one of IsoBoxTypes)

Parameters:
type As one of IsoBoxTypes
See also:
IsoBoxTypes
Returns:
Box object of type

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

Parameters:
type As one of IsoBoxTypes
See also:
IsoBoxTypes
Returns:
Box object of type, NULL if not found

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).

Parameters:
type The type of box to look for
Returns:
Pointer of Box if found, NULL otherwise.

Reimplemented in MovieBox, TrackBox, MediaBox, MediaInformationBox, DataInformationBox, and SampleTableBox.

void ClassContainer::removeAll (  ) 

Remove and free all composition objects


Member Data Documentation

Vector<Box *> ClassContainer::boxes [protected]


The documentation for this class was generated from the following files:
Generated on Sun Aug 20 15:06:40 2006 for ISOCodec by  doxygen 1.4.7