ObjectInterface Class Reference

Interface for any class containing an MDObject that needs to behave like an MDObject. More...

#include <mdobject.h>

Inheritance diagram for ObjectInterface:

Component Metadata Package Partition Track DMSegment SourceClip TimecodeComponent DMSourceClip List of all members.

Public Member Functions

 ObjectInterface ()
virtual ~ObjectInterface ()
 Build a basic ObjectInterface.
std::string Name (void) const
 Virtual destructor to allow polymorphism.
std::string FullName (void) const
MDObjectPtr operator[] (std::string ChildName)
 Access function for child values of compound items.
MDObjectPtr Child (std::string ChildName)
MDObjectListPtr ChildList (std::string ChildName)
MDObjectPtr operator[] (const UL &ChildType)
MDObjectPtr Child (const UL &ChildType)
MDObjectListPtr ChildList (const UL &ChildType)
MDObjectPtr operator[] (ULPtr &ChildType)
MDObjectPtr Child (ULPtr &ChildType)
MDObjectListPtr ChildList (ULPtr &ChildType)
MDObjectPtr operator[] (MDOTypePtr ChildType)
MDObjectPtr Child (MDOTypePtr ChildType)
MDObjectListPtr ChildList (MDOTypePtr ChildType)
MDObjectPtr AddChild (void)
MDObjectPtr AddChild (std::string ChildName, bool Replace=true)
MDObjectPtr AddChild (MDObjectPtr ChildObject, bool Replace=false)
MDObjectPtr AddChild (const UL &ChildType, bool Replace=true)
MDObjectPtr AddChild (ULPtr &ChildType, bool Replace=true)
void RemoveChild (std::string ChildName)
void RemoveChild (MDOTypePtr ChildType)
void RemoveChild (MDObjectPtr ChildObject)
void SetInt (const char *ChildName, Int32 Val)
void SetInt64 (const char *ChildName, Int64 Val)
void SetUInt (const char *ChildName, UInt32 Val)
void SetUInt64 (const char *ChildName, UInt64 Val)
void SetUint (const char *ChildName, UInt32 Val)
void SetUint64 (const char *ChildName, UInt64 Val)
void SetString (const char *ChildName, std::string Val)
bool SetDValue (const char *ChildName)
void SetValue (const char *ChildName, const DataChunk &Source)
void SetValue (const char *ChildName, MDObjectPtr Source)
Int32 GetInt (const char *ChildName, Int32 Default=0)
Int64 GetInt64 (const char *ChildName, Int64 Default=0)
UInt32 GetUInt (const char *ChildName, UInt32 Default=0)
UInt64 GetUInt64 (const char *ChildName, UInt64 Default=0)
UInt32 GetUint (const char *ChildName, UInt32 Default=0)
UInt64 GetUint64 (const char *ChildName, UInt64 Default=0)
std::string GetString (const char *ChildName, std::string Default="")
bool IsDValue (const char *ChildName)
void SetInt (const UL &ChildType, Int32 Val)
void SetInt (ULPtr &ChildType, Int32 Val)
void SetInt64 (const UL &ChildType, Int64 Val)
void SetInt64 (ULPtr &ChildType, Int64 Val)
void SetUInt (const UL &ChildType, UInt32 Val)
void SetUInt (ULPtr &ChildType, UInt32 Val)
void SetUInt64 (const UL &ChildType, UInt64 Val)
void SetUInt64 (ULPtr &ChildType, UInt64 Val)
void SetString (const UL &ChildType, std::string Val)
void SetString (ULPtr &ChildType, std::string Val)
bool SetDValue (const UL &ChildType)
bool SetDValue (ULPtr &ChildType)
void SetValue (const UL &ChildType, const DataChunk &Source)
void SetValue (ULPtr &ChildType, const DataChunk &Source)
void SetValue (const UL &ChildType, MDObjectPtr Source)
void SetValue (ULPtr &ChildType, MDObjectPtr Source)
Int32 GetInt (const UL &ChildType, Int32 Default=0)
Int32 GetInt (ULPtr &ChildType, Int32 Default=0)
Int64 GetInt64 (const UL &ChildType, Int64 Default=0)
Int64 GetInt64 (ULPtr &ChildType, Int64 Default=0)
UInt32 GetUInt (const UL &ChildType, UInt32 Default=0)
UInt32 GetUInt (ULPtr &ChildType, UInt32 Default=0)
UInt64 GetUInt64 (const UL &ChildType, UInt64 Default=0)
UInt64 GetUInt64 (ULPtr &ChildType, UInt64 Default=0)
std::string GetString (const UL &ChildType, std::string Default="")
std::string GetString (ULPtr &ChildType, std::string Default="")
bool IsDValue (const UL &ChildType)
bool IsDValue (ULPtr &ChildType)
void SetInt (MDOTypePtr ChildType, Int32 Val)
void SetInt64 (MDOTypePtr ChildType, Int64 Val)
void SetUInt (MDOTypePtr ChildType, UInt32 Val)
void SetUInt64 (MDOTypePtr ChildType, UInt64 Val)
void SetUint (MDOTypePtr ChildType, UInt32 Val)
void SetUint64 (MDOTypePtr ChildType, UInt64 Val)
void SetString (MDOTypePtr ChildType, std::string Val)
bool SetDValue (MDOTypePtr ChildType)
void SetValue (MDOTypePtr ChildType, const DataChunk &Source)
void SetValue (MDOTypePtr ChildType, MDObjectPtr Source)
Int32 GetInt (MDOTypePtr ChildType, Int32 Default=0)
Int64 GetInt64 (MDOTypePtr ChildType, Int64 Default=0)
UInt32 GetUInt (MDOTypePtr ChildType, UInt32 Default=0)
UInt64 GetUInt64 (MDOTypePtr ChildType, UInt64 Default=0)
UInt32 GetUint (MDOTypePtr ChildType, UInt32 Default=0)
UInt64 GetUint64 (MDOTypePtr ChildType, UInt64 Default=0)
std::string GetString (MDOTypePtr ChildType, std::string Default="")
bool IsDValue (MDOTypePtr ChildType)
const DataChunkGetData (void)
 Get a reference to the data chunk (const to prevent setting!!).
DataChunkPtr PutData (PrimerPtr UsePrimer=NULL)
 Build a data chunk with all this item's data (including child data).
size_t ReadValue (const DataChunk &Chunk)
 Read the object's value from a data chunk.
size_t ReadValue (const DataChunkPtr &Chunk)
 Read the object's value from a data chunk pointer.
size_t ReadValue (const UInt8 *Buffer, size_t Size, PrimerPtr UsePrimer=NULL)
 Read the object's value from a memory buffer.
DataChunkPtr WriteObject (MDObjectPtr ParentObject, PrimerPtr UsePrimer)
 Write this object to a new memory buffer.
size_t WriteObject (DataChunkPtr &Buffer, MDObjectPtr ParentObject, PrimerPtr UsePrimer)
 Write this object to a memory buffer.
DataChunkPtr WriteObject (PrimerPtr UsePrimer=NULL)
 Write this top level object to a new memory buffer.
size_t WriteObject (DataChunkPtr &Buffer, PrimerPtr UsePrimer=NULL)
 Write this top level object to a memory buffer.
MDOTypePtr GetType (void) const
MDObjectPtr GetLink (void) const
void SetLink (MDObjectPtr NewLink)
ClassRef GetRefType (void) const
bool IsA (std::string BaseType)
 Determine if this object is derived from a specified type (directly or indirectly).
bool IsA (MDOTypePtr BaseType)
 Determine if this object is derived from a specified type (directly or indirectly).
bool IsA (const UL &BaseType)
 Determine if this object is derived from a specified type (directly or indirectly).
bool IsA (ULPtr &BaseType)
 Determine if this object is derived from a specified type (directly or indirectly).
void SetParent (MXFFilePtr File, UInt64 Location, UInt32 NewKLSize)
 Set the parent details when an object has been read from a file.
void SetParent (MDObjectPtr ParentObject, UInt64 Location, UInt32 NewKLSize)
 Set the parent details when an object has been read from memory.
bool IsModified (void)
void ClearModified (void)
 Clear the modified flag on this object and any contained objects.
UInt64 GetLocation (void)
std::string GetSource (void)
std::string GetSourceLocation (void)
bool ChangeType (std::string NewType)
 Change the type of an MDObject.
bool ChangeType (const UL &NewType)
 Change the type of an MDObject.
bool ChangeType (ULPtr &NewType)
 Change the type of an MDObject.

Public Attributes

MDObjectPtr Object
 The MDObject for this item.

Protected Member Functions

 ObjectInterface (MDObjectPtr BaseObject)
 Protected constructor used to create from an existing MDObject.

Detailed Description

Interface for any class containing an MDObject that needs to behave like an MDObject.

This class is required to prevent the need for polymorphism which doesn't really work with smart pointers


Constructor & Destructor Documentation

ObjectInterface ( MDObjectPtr  BaseObject  )  [inline, protected]

Protected constructor used to create from an existing MDObject.

ObjectInterface (  )  [inline]

virtual ~ObjectInterface (  )  [inline, virtual]

Build a basic ObjectInterface.


Member Function Documentation

std::string Name ( void   )  const [inline]

Virtual destructor to allow polymorphism.

std::string FullName ( void   )  const [inline]

MDObjectPtr operator[] ( std::string  ChildName  )  [inline]

Access function for child values of compound items.

MDObjectPtr Child ( std::string  ChildName  )  [inline]

MDObjectListPtr ChildList ( std::string  ChildName  )  [inline]

MDObjectPtr operator[] ( const UL ChildType  )  [inline]

MDObjectPtr Child ( const UL ChildType  )  [inline]

MDObjectListPtr ChildList ( const UL ChildType  )  [inline]

MDObjectPtr operator[] ( ULPtr ChildType  )  [inline]

MDObjectPtr Child ( ULPtr ChildType  )  [inline]

MDObjectListPtr ChildList ( ULPtr ChildType  )  [inline]

MDObjectPtr operator[] ( MDOTypePtr  ChildType  )  [inline]

MDObjectPtr Child ( MDOTypePtr  ChildType  )  [inline]

MDObjectListPtr ChildList ( MDOTypePtr  ChildType  )  [inline]

MDObjectPtr AddChild ( void   )  [inline]

MDObjectPtr AddChild ( std::string  ChildName,
bool  Replace = true 
) [inline]

MDObjectPtr AddChild ( MDObjectPtr  ChildObject,
bool  Replace = false 
) [inline]

MDObjectPtr AddChild ( const UL ChildType,
bool  Replace = true 
) [inline]

MDObjectPtr AddChild ( ULPtr ChildType,
bool  Replace = true 
) [inline]

void RemoveChild ( std::string  ChildName  )  [inline]

void RemoveChild ( MDOTypePtr  ChildType  )  [inline]

void RemoveChild ( MDObjectPtr  ChildObject  )  [inline]

void SetInt ( const char *  ChildName,
Int32  Val 
) [inline]

void SetInt64 ( const char *  ChildName,
Int64  Val 
) [inline]

void SetUInt ( const char *  ChildName,
UInt32  Val 
) [inline]

void SetUInt64 ( const char *  ChildName,
UInt64  Val 
) [inline]

void SetUint ( const char *  ChildName,
UInt32  Val 
) [inline]

void SetUint64 ( const char *  ChildName,
UInt64  Val 
) [inline]

void SetString ( const char *  ChildName,
std::string  Val 
) [inline]

bool SetDValue ( const char *  ChildName  )  [inline]

void SetValue ( const char *  ChildName,
const DataChunk Source 
) [inline]

void SetValue ( const char *  ChildName,
MDObjectPtr  Source 
) [inline]

Int32 GetInt ( const char *  ChildName,
Int32  Default = 0 
) [inline]

Int64 GetInt64 ( const char *  ChildName,
Int64  Default = 0 
) [inline]

UInt32 GetUInt ( const char *  ChildName,
UInt32  Default = 0 
) [inline]

UInt64 GetUInt64 ( const char *  ChildName,
UInt64  Default = 0 
) [inline]

UInt32 GetUint ( const char *  ChildName,
UInt32  Default = 0 
) [inline]

UInt64 GetUint64 ( const char *  ChildName,
UInt64  Default = 0 
) [inline]

std::string GetString ( const char *  ChildName,
std::string  Default = "" 
) [inline]

bool IsDValue ( const char *  ChildName  )  [inline]

void SetInt ( const UL ChildType,
Int32  Val 
) [inline]

void SetInt ( ULPtr ChildType,
Int32  Val 
) [inline]

void SetInt64 ( const UL ChildType,
Int64  Val 
) [inline]

void SetInt64 ( ULPtr ChildType,
Int64  Val 
) [inline]

void SetUInt ( const UL ChildType,
UInt32  Val 
) [inline]

void SetUInt ( ULPtr ChildType,
UInt32  Val 
) [inline]

void SetUInt64 ( const UL ChildType,
UInt64  Val 
) [inline]

void SetUInt64 ( ULPtr ChildType,
UInt64  Val 
) [inline]

void SetString ( const UL ChildType,
std::string  Val 
) [inline]

void SetString ( ULPtr ChildType,
std::string  Val 
) [inline]

bool SetDValue ( const UL ChildType  )  [inline]

bool SetDValue ( ULPtr ChildType  )  [inline]

void SetValue ( const UL ChildType,
const DataChunk Source 
) [inline]

void SetValue ( ULPtr ChildType,
const DataChunk Source 
) [inline]

void SetValue ( const UL ChildType,
MDObjectPtr  Source 
) [inline]

void SetValue ( ULPtr ChildType,
MDObjectPtr  Source 
) [inline]

Int32 GetInt ( const UL ChildType,
Int32  Default = 0 
) [inline]

Int32 GetInt ( ULPtr ChildType,
Int32  Default = 0 
) [inline]

Int64 GetInt64 ( const UL ChildType,
Int64  Default = 0 
) [inline]

Int64 GetInt64 ( ULPtr ChildType,
Int64  Default = 0 
) [inline]

UInt32 GetUInt ( const UL ChildType,
UInt32  Default = 0 
) [inline]

UInt32 GetUInt ( ULPtr ChildType,
UInt32  Default = 0 
) [inline]

UInt64 GetUInt64 ( const UL ChildType,
UInt64  Default = 0 
) [inline]

UInt64 GetUInt64 ( ULPtr ChildType,
UInt64  Default = 0 
) [inline]

std::string GetString ( const UL ChildType,
std::string  Default = "" 
) [inline]

std::string GetString ( ULPtr ChildType,
std::string  Default = "" 
) [inline]

bool IsDValue ( const UL ChildType  )  [inline]

bool IsDValue ( ULPtr ChildType  )  [inline]

void SetInt ( MDOTypePtr  ChildType,
Int32  Val 
) [inline]

void SetInt64 ( MDOTypePtr  ChildType,
Int64  Val 
) [inline]

void SetUInt ( MDOTypePtr  ChildType,
UInt32  Val 
) [inline]

void SetUInt64 ( MDOTypePtr  ChildType,
UInt64  Val 
) [inline]

void SetUint ( MDOTypePtr  ChildType,
UInt32  Val 
) [inline]

void SetUint64 ( MDOTypePtr  ChildType,
UInt64  Val 
) [inline]

void SetString ( MDOTypePtr  ChildType,
std::string  Val 
) [inline]

bool SetDValue ( MDOTypePtr  ChildType  )  [inline]

void SetValue ( MDOTypePtr  ChildType,
const DataChunk Source 
) [inline]

void SetValue ( MDOTypePtr  ChildType,
MDObjectPtr  Source 
) [inline]

Int32 GetInt ( MDOTypePtr  ChildType,
Int32  Default = 0 
) [inline]

Int64 GetInt64 ( MDOTypePtr  ChildType,
Int64  Default = 0 
) [inline]

UInt32 GetUInt ( MDOTypePtr  ChildType,
UInt32  Default = 0 
) [inline]

UInt64 GetUInt64 ( MDOTypePtr  ChildType,
UInt64  Default = 0 
) [inline]

UInt32 GetUint ( MDOTypePtr  ChildType,
UInt32  Default = 0 
) [inline]

UInt64 GetUint64 ( MDOTypePtr  ChildType,
UInt64  Default = 0 
) [inline]

std::string GetString ( MDOTypePtr  ChildType,
std::string  Default = "" 
) [inline]

bool IsDValue ( MDOTypePtr  ChildType  )  [inline]

const DataChunk& GetData ( void   )  [inline]

Get a reference to the data chunk (const to prevent setting!!).

DataChunkPtr PutData ( PrimerPtr  UsePrimer = NULL  )  [inline]

Build a data chunk with all this item's data (including child data).

size_t ReadValue ( const DataChunk Chunk  )  [inline]

Read the object's value from a data chunk.

size_t ReadValue ( const DataChunkPtr Chunk  )  [inline]

Read the object's value from a data chunk pointer.

size_t ReadValue ( const UInt8 Buffer,
size_t  Size,
PrimerPtr  UsePrimer = NULL 
) [inline]

Read the object's value from a memory buffer.

DataChunkPtr WriteObject ( MDObjectPtr  ParentObject,
PrimerPtr  UsePrimer 
) [inline]

Write this object to a new memory buffer.

size_t WriteObject ( DataChunkPtr Buffer,
MDObjectPtr  ParentObject,
PrimerPtr  UsePrimer 
) [inline]

Write this object to a memory buffer.

DataChunkPtr WriteObject ( PrimerPtr  UsePrimer = NULL  )  [inline]

Write this top level object to a new memory buffer.

The object must be at the outer or top KLV level

Returns:
The number of bytes written

size_t WriteObject ( DataChunkPtr Buffer,
PrimerPtr  UsePrimer = NULL 
) [inline]

Write this top level object to a memory buffer.

The object must be at the outer or top KLV level. The object is appended to the buffer

Returns:
The number of bytes written

MDOTypePtr GetType ( void   )  const [inline]

MDObjectPtr GetLink ( void   )  const [inline]

void SetLink ( MDObjectPtr  NewLink  )  [inline]

ClassRef GetRefType ( void   )  const [inline]

bool IsA ( std::string  BaseType  )  [inline]

Determine if this object is derived from a specified type (directly or indirectly).

bool IsA ( MDOTypePtr  BaseType  )  [inline]

Determine if this object is derived from a specified type (directly or indirectly).

bool IsA ( const UL BaseType  )  [inline]

Determine if this object is derived from a specified type (directly or indirectly).

bool IsA ( ULPtr BaseType  )  [inline]

Determine if this object is derived from a specified type (directly or indirectly).

void SetParent ( MXFFilePtr  File,
UInt64  Location,
UInt32  NewKLSize 
) [inline]

Set the parent details when an object has been read from a file.

void SetParent ( MDObjectPtr  ParentObject,
UInt64  Location,
UInt32  NewKLSize 
) [inline]

Set the parent details when an object has been read from memory.

bool IsModified ( void   )  [inline]

void ClearModified ( void   )  [inline]

Clear the modified flag on this object and any contained objects.

UInt64 GetLocation ( void   )  [inline]

std::string GetSource ( void   )  [inline]

std::string GetSourceLocation ( void   )  [inline]

bool ChangeType ( std::string  NewType  )  [inline]

Change the type of an MDObject.

Note:
This may result in very wrong data - exercise great care!

bool ChangeType ( const UL NewType  )  [inline]

Change the type of an MDObject.

Note:
This may result in very wrong data - exercise great care!

bool ChangeType ( ULPtr NewType  )  [inline]

Change the type of an MDObject.

Note:
This may result in very wrong data - exercise great care!


Member Data Documentation

MDObjectPtr Object

The MDObject for this item.


The documentation for this class was generated from the following file:
Generated on Mon Apr 2 15:21:00 2007 for MXFLib by  doxygen 1.5.1-p1