#include <mdobject.h>
Inheritance diagram for MDObject:

Public Types | |
| typedef std::string(*) | ULTranslator (ULPtr, const Tag *) |
| Pointer to a translator function to translate unknown ULs to object names. | |
Public Member Functions | |
| MDObject (std::string BaseType, SymbolSpacePtr &SymSpace=MXFLibSymbols) | |
| Construct a new MDObject of the specified type. | |
| MDObject (MDOTypePtr BaseType) | |
| Construct a new MDObject of the specified type. | |
| MDObject (const UL &BaseUL) | |
| Construct a new MDObject of the type with the specified UL. | |
| MDObject (const ULPtr &BaseUL) | |
| Construct a new MDObject of the type with the specified UL. | |
| MDObject (Tag BaseTag, PrimerPtr BasePrimer) | |
| Construct a new MDObject of the type with the specified UL. | |
| void | Init (void) |
| Generic constructor - called after each specific constructor has done its specific bits. | |
| ~MDObject () | |
| Destroy an MDObject. | |
| MDObjectPtr | AddChild (std::string ChildName, bool Replace) |
| Add a new child MDObject of the specified type. | |
| MDObjectPtr | AddChild (std::string ChildName, SymbolSpacePtr &SymSpace=MXFLibSymbols, bool Replace=true) |
| Add a new child MDObject of the specified type. | |
| MDObjectPtr | AddChild (MDOTypePtr ChildType, bool Replace=true) |
| Add a new child MDObject of the specified type. | |
| MDObjectPtr | AddChild (void) |
| Add a new child MDObject to a vector. | |
| MDObjectPtr | AddChild (const UL &ChildType, bool Replace=true) |
| Add a new child MDObject of the specified type. | |
| MDObjectPtr | AddChild (ULPtr &ChildType, bool Replace=true) |
| Add a new child MDObject of the specified type. | |
| MDObjectPtr | AddChild (MDObjectPtr &ChildObject, bool Replace=false) |
| Add a new child MDObject of the specified type. | |
| void | RemoveChild (std::string ChildName) |
| Remove the (first) child of the specified type. | |
| void | RemoveChild (MDOTypePtr &ChildType) |
| Remove the (first) child of the specified type. | |
| void | RemoveChild (ULPtr &ChildType) |
| Remove the (first) child of the specified type. | |
| void | RemoveChild (MDObjectPtr ChildObject) |
| Remove the specified child. | |
| MDObjectPtr | operator[] (std::string ChildName) |
| Access function for child values of compound items. | |
| MDObjectPtr | Child (std::string ChildName) |
| MDObjectListPtr | ChildList (std::string ChildName) |
| Find all sub-items within a compound MDObject of a named type. | |
| MDObjectListPtr | ChildList (const UL &ChildType) |
| Find all sub-items within a compound MDObject of a specified type. | |
| MDObjectListPtr | ChildList (const ULPtr &ChildType) |
| MDObjectPtr | operator[] (MDOTypePtr ChildType) |
| Access sub-item of the specified type within a compound MDObject. | |
| MDObjectPtr | Child (MDOTypePtr ChildType) |
| MDObjectListPtr | ChildList (MDOTypePtr ChildType) |
| Find all sub-items within a compound MDObject of a named type. | |
| MDObjectPtr | operator[] (const UL &ChildType) |
| Access sub-item of the specified type within a compound MDObject. | |
| MDObjectPtr | operator[] (ULPtr &ChildType) |
| MDObjectPtr | Child (const UL &ChildType) |
| MDObjectPtr | Child (ULPtr &ChildType) |
| MDObjectListPtr | ChildList (ULPtr &ChildType) |
| void | SetInt (Int32 Val) |
| void | SetInt64 (Int64 Val) |
| void | SetUInt (UInt32 Val) |
| void | SetUInt64 (UInt64 Val) |
| void | SetUint (UInt32 Val) |
| void | SetUint64 (UInt64 Val) |
| void | SetString (std::string Val) |
| bool | SetDValue (void) |
| Set an object to its distinguished value. | |
| void | SetValue (const DataChunk &Source) |
| void | SetValue (MDObjectPtr Source) |
| Int32 | GetInt (Int32 Default=0) |
| Int64 | GetInt64 (Int64 Default=0) |
| UInt32 | GetUInt (UInt32 Default=0) |
| UInt64 | GetUInt64 (UInt64 Default=0) |
| UInt32 | GetUint (UInt32 Default=0) |
| UInt64 | GetUint64 (UInt64 Default=0) |
| std::string | GetString (std::string Default="") |
| bool | IsDValue (void) |
| Is an object set to its distinguished value? | |
| bool | SetDefault (void) |
| Set the default value for this object. | |
| 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, MDObjectPtr Source) |
| void | SetValue (MDOTypePtr ChildType, const DataChunk &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 DataChunk & | GetData (void) |
| Get a reference to the data chunk (const to prevent setting!!). | |
| const 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 (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, UInt32 BERSize=0) |
| Write this object to a new memory buffer. | |
| size_t | WriteObject (DataChunkPtr &Buffer, MDObjectPtr ParentObject, PrimerPtr UsePrimer, UInt32 BERSize=0) |
| Write this object to a memory buffer. | |
| DataChunkPtr | WriteObject (PrimerPtr UsePrimer=NULL, UInt32 BERSize=0) |
| Write this top level object to a new memory buffer. | |
| size_t | WriteObject (DataChunkPtr &Buffer, PrimerPtr UsePrimer=NULL, UInt32 BERSize=0) |
| Write this top level object to a memory buffer. | |
| size_t | WriteLinkedObjects (DataChunkPtr &Buffer, PrimerPtr UsePrimer=NULL) |
| Write this object, and any strongly linked sub-objects, to a memory buffer. | |
| std::string | Name (void) const |
| Report the name of this item (the name of its type). | |
| std::string | FullName (void) const |
| Report the full name of this item (the full name of its type). | |
| void | insert (MDObjectPtr NewObject) |
| Inset a new child object - overloads the existing MDObjectList version. | |
| const MDOTypePtr & | GetType (void) const |
| Type access function. | |
| 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). | |
| MDObjectPtr | GetLink (void) const |
| Link access functions. | |
| bool | MakeRef (MDObjectPtr &TargetSet, bool ForceLink=false) |
| Make a link from this reference source to the specified target set. | |
| bool | MakeLink (MDObjectPtr &TargetSet, bool ForceLink=false) |
| DEPRECATED: Make a link from this reference source to the specified target set. | |
| void | SetLink (MDObjectPtr NewLink) |
| Record that a link exists (not the same as making a link - see MakeRef). | |
| ClassRef | GetRefType (void) const |
| Ref access function. | |
| MDOTypePtr | GetRefTarget (void) const |
| Accessor for Reference Target. | |
| void | SetParent (MXFFilePtr &File, UInt64 Location, UInt32 NewKLSize) |
| Set the parent details when an object has been read from a file. | |
| void | SetParent (MDObjectPtr &Object, UInt64 Location, UInt32 NewKLSize) |
| Set the parent details when an object has been read from memory. | |
| MDObjectParent & | GetParent (void) |
| Access function for Parent. | |
| MXFFilePtr & | GetParentFile (void) |
| Access function for ParentFile. | |
| const ULPtr & | GetUL (void) |
| Get the object's UL. | |
| void | SetUL (ULPtr &NewUL) |
| Set the object's UL. | |
| void | SetTag (Tag NewTag) |
| Set the object's tag. | |
| Tag | GetTag (void) |
| Get the object's tag. | |
| bool | ChangeType (const UL &NewType) |
| Change the type of an MDObject. | |
| bool | ChangeType (ULPtr &NewType) |
| Change the type of an MDObject. | |
| bool | ChangeType (std::string NewType) |
| Change the type of an MDObject. | |
| MDObjectPtr | MakeCopy (void) |
| Make a copy of this object. | |
| bool | SetGenerationUID (UUIDPtr UID) |
| Set the GenerationUID of an object iff it has been modified. | |
| bool | IsModified (void) |
| Has this object (including any child objects) been modified? | |
| void | ClearModified (void) |
| Clear the modified flag on this object and any contained objects. | |
| UInt64 | GetLocation (void) |
| Get the location within the ultimate parent. | |
| std::string | GetSource (void) |
| Get text that describes where this item came from. | |
| std::string | GetSourceLocation (void) |
| Get text that describes exactly where this item came from. | |
| ObjectInterface * | GetOuter (void) |
| Get pointer to Outer object. | |
| void | SetOuter (ObjectInterface *NewOuter) |
| Set pointer to Outer object. | |
Static Public Member Functions | |
| static void | SetULTranslator (ULTranslator Trans) |
| Set a translator function to translate unknown ULs to object names. | |
| static void | SetParseDark (bool Value) |
| Set the "attempt to parse dark metadata" flag. | |
Public Attributes | |
| MDValuePtr | Value |
Protected Member Functions | |
| void | ULCtor (void) |
| MDObject UL based constructor body. | |
| MDObjectPtr | AddChildInternal (MDObjectPtr ChildObject, bool Replace=false) |
| Add a new child MDObject of the specified type. | |
| void | SetModified (bool State) |
| Sets the modification state of this object. | |
| UInt32 | WriteKey (DataChunkPtr &Buffer, DictKeyFormat Format, PrimerPtr UsePrimer=NULL) |
| Write an objects key. | |
Static Protected Member Functions | |
| static UInt32 | ReadKey (DictKeyFormat Format, size_t Size, const UInt8 *Buffer, DataChunk &Key) |
| Read a key from a memory buffer. | |
| static UInt32 | ReadLength (DictLenFormat Format, size_t Size, const UInt8 *Buffer, Length &Length) |
| Read a length field from a memory buffer. | |
| static UInt32 | WriteLength (DataChunkPtr &Buffer, Length Length, DictLenFormat Format, UInt32 Size=0) |
| Write a length field to a memory buffer. | |
Protected Attributes | |
| MDOTypePtr | Type |
| MDObjectPtr | Link |
| bool | IsConstructed |
| True if this object is constructed, false if read from a file or a parent object. | |
| UInt64 | ParentOffset |
| Offset from start of parent object if read from file or object. | |
| UInt32 | KLSize |
| Size of this objects KL if read from file or parent object. | |
| MDObjectParent | Parent |
| Pointer to parent if read from inside another object. | |
| MXFFileParent | ParentFile |
| Pointer to parent file if read from a file. | |
| ULPtr | TheUL |
| The UL for this object (if known). | |
| Tag | TheTag |
| The local tag used for this object (if known). | |
| std::string | ObjectName |
| The name of this object (normally the name of the type). | |
| bool | Modified |
| True if this object has been modified since being "read". | |
| ObjectInterface * | Outer |
| Pointer to outer object if this is a sub-object of an ObjectInterface derived object. | |
Static Protected Attributes | |
| static ULTranslator | UL2NameFunc |
| Translator function to translate unknown ULs to object names. | |
| static bool | ParseDark |
| Static flag to say if dark metadata sets that appear to be valid KLV 2x2 sets should be parsed. | |
| typedef std::string(*) ULTranslator(ULPtr, const Tag *) |
Pointer to a translator function to translate unknown ULs to object names.
| MDObject | ( | std::string | BaseType, | |
| SymbolSpacePtr & | SymSpace = MXFLibSymbols | |||
| ) |
Construct a new MDObject of the specified type.
BaseType is a symbol to be located in the given SymbolSpace - if no SymbolSpace is specifed the default MXFLib space is used
| MDObject | ( | MDOTypePtr | BaseType | ) |
Construct a new MDObject of the specified type.
Builds a "blank" metadata object of a specified type
| void ULCtor | ( | void | ) | [protected] |
| void Init | ( | void | ) |
Generic constructor - called after each specific constructor has done its specific bits.
Builds a "blank" metadata object
| MDObjectPtr AddChild | ( | std::string | ChildName, | |
| bool | Replace | |||
| ) | [inline] |
Add a new child MDObject of the specified type.
ChildName is a symbol to be located in default MXFLib SymbolSpace
| MDObjectPtr AddChild | ( | std::string | ChildName, | |
| SymbolSpacePtr & | SymSpace = MXFLibSymbols, |
|||
| bool | Replace = true | |||
| ) |
Add a new child MDObject of the specified type.
ChildName is a symbol to be located in the given SymbolSpace - if no SymbolSpace is specifed the default MXFLib space is used
| MDObjectPtr AddChild | ( | MDOTypePtr | ChildType, | |
| bool | Replace = true | |||
| ) |
Add a new child MDObject of the specified type.
If Replace is true (or not supplied) and a child of this type already exists a pointer to that child is returned but the value is not changed.
| MDObjectPtr AddChild | ( | void | ) |
Add a new child MDObject to a vector.
This version of AddChild will not replace duplicates, it always appends
| MDObjectPtr AddChild | ( | const UL & | ChildType, | |
| bool | Replace = true | |||
| ) |
Add a new child MDObject of the specified type.
DRAGONS: This code searches for child entries that match rather than simply doing a full UL-lookup as there may be cases where the same UL is used somewhere else but is not compatible (such as in a pack definition whereas are adding to a local set to need a valid local tag)
| MDObjectPtr AddChild | ( | ULPtr & | ChildType, | |
| bool | Replace = true | |||
| ) | [inline] |
Add a new child MDObject of the specified type.
| MDObjectPtr AddChild | ( | MDObjectPtr & | ChildObject, | |
| bool | Replace = false | |||
| ) |
Add a new child MDObject of the specified type.
NULL if there was an error
| MDObjectPtr AddChildInternal | ( | MDObjectPtr | ChildObject, | |
| bool | Replace = false | |||
| ) | [protected] |
Add a new child MDObject of the specified type.
Same as AddChild(), but does not set "Modified"
| void RemoveChild | ( | std::string | ChildName | ) |
Remove the (first) child of the specified type.
| void RemoveChild | ( | MDOTypePtr & | ChildType | ) |
Remove the (first) child of the specified type.
| void RemoveChild | ( | ULPtr & | ChildType | ) |
Remove the (first) child of the specified type.
| void RemoveChild | ( | MDObjectPtr | ChildObject | ) |
Remove the specified child.
If the object is not an child of the container nothing is done
| MDObjectPtr operator[] | ( | std::string | ChildName | ) |
Access function for child values of compound items.
If the child does not exist in this item then NULL is returned even if it is a valid child to have in this type of container
DRAGONS: This doesn't work well with SmartPtrs so member function Child() is also available
| MDObjectPtr Child | ( | std::string | ChildName | ) | [inline] |
| MDObjectListPtr ChildList | ( | std::string | ChildName | ) |
Find all sub-items within a compound MDObject of a named type.
| MDObjectListPtr ChildList | ( | const UL & | ChildType | ) |
Find all sub-items within a compound MDObject of a specified type.
| MDObjectListPtr ChildList | ( | const ULPtr & | ChildType | ) | [inline] |
| MDObjectPtr operator[] | ( | MDOTypePtr | ChildType | ) |
| MDObjectPtr Child | ( | MDOTypePtr | ChildType | ) | [inline] |
| MDObjectListPtr ChildList | ( | MDOTypePtr | ChildType | ) |
Find all sub-items within a compound MDObject of a named type.
| MDObjectPtr operator[] | ( | const UL & | ChildType | ) |
| MDObjectPtr operator[] | ( | ULPtr & | ChildType | ) | [inline] |
| MDObjectPtr Child | ( | const UL & | ChildType | ) | [inline] |
| MDObjectPtr Child | ( | ULPtr & | ChildType | ) | [inline] |
| MDObjectListPtr ChildList | ( | ULPtr & | ChildType | ) |
| void SetInt | ( | Int32 | Val | ) | [inline] |
| void SetInt64 | ( | Int64 | Val | ) | [inline] |
| void SetUInt | ( | UInt32 | Val | ) | [inline] |
| void SetUInt64 | ( | UInt64 | Val | ) | [inline] |
| void SetUint | ( | UInt32 | Val | ) | [inline] |
| void SetUint64 | ( | UInt64 | Val | ) | [inline] |
| void SetString | ( | std::string | Val | ) | [inline] |
| bool SetDValue | ( | void | ) |
Set an object to its distinguished value.
| void SetValue | ( | const DataChunk & | Source | ) | [inline] |
| void SetValue | ( | MDObjectPtr | Source | ) | [inline] |
| std::string GetString | ( | std::string | Default = "" |
) | [inline] |
| bool IsDValue | ( | void | ) |
Is an object set to its distinguished value?
| bool SetDefault | ( | void | ) | [inline] |
Set the default value for this object.
| 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] |
| std::string GetString | ( | const char * | ChildName, | |
| std::string | Default = "" | |||
| ) | [inline] |
| bool IsDValue | ( | const char * | ChildName | ) | [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, | |
| MDObjectPtr | Source | |||
| ) | [inline] |
| void SetValue | ( | ULPtr & | ChildType, | |
| MDObjectPtr | Source | |||
| ) | [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, | |
| MDObjectPtr | Source | |||
| ) | [inline] |
| void SetValue | ( | MDOTypePtr | ChildType, | |
| const DataChunk & | 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!!).
| const DataChunkPtr PutData | ( | PrimerPtr | UsePrimer = NULL |
) |
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 | ( | DataChunkPtr & | Chunk | ) | [inline] |
Read the object's value from a data chunk pointer.
| DataChunkPtr WriteObject | ( | MDObjectPtr | ParentObject, | |
| PrimerPtr | UsePrimer, | |||
| UInt32 | BERSize = 0 | |||
| ) | [inline] |
Write this object to a new memory buffer.
| size_t WriteObject | ( | DataChunkPtr & | Buffer, | |
| MDObjectPtr | ParentObject, | |||
| PrimerPtr | UsePrimer, | |||
| UInt32 | BERSize = 0 | |||
| ) |
Write this object to a memory buffer.
| DataChunkPtr WriteObject | ( | PrimerPtr | UsePrimer = NULL, |
|
| UInt32 | BERSize = 0 | |||
| ) | [inline] |
Write this top level object to a new memory buffer.
The object must be at the outer or top KLV level
| size_t WriteObject | ( | DataChunkPtr & | Buffer, | |
| PrimerPtr | UsePrimer = NULL, |
|||
| UInt32 | BERSize = 0 | |||
| ) | [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
| size_t WriteLinkedObjects | ( | DataChunkPtr & | Buffer, | |
| PrimerPtr | UsePrimer = NULL | |||
| ) |
Write this object, and any strongly linked sub-objects, to a memory buffer.
The object must be at the outer or top KLV level. The objects are appended to the buffer
| std::string Name | ( | void | ) | const [inline] |
Report the name of this item (the name of its type).
| std::string FullName | ( | void | ) | const [inline] |
Report the full name of this item (the full name of its type).
| void insert | ( | MDObjectPtr | NewObject | ) | [inline] |
Inset a new child object - overloads the existing MDObjectList version.
| const MDOTypePtr& GetType | ( | void | ) | const [inline] |
Type access function.
| 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 | ) | [inline] |
Determine if this object is derived from a specified type (directly or indirectly).
| MDObjectPtr GetLink | ( | void | ) | const [inline] |
Link access functions.
| bool MakeRef | ( | MDObjectPtr & | TargetSet, | |
| bool | ForceLink = false | |||
| ) |
Make a link from this reference source to the specified target set.
If the target set already has an instanceUID it will be used, otherwise one will be added.
| TargetSet | A pointer to the set to be the target of this reference | |
| ForceLink | True if the link is to be made even if not a valid reference source/target pair |
| bool MakeLink | ( | MDObjectPtr & | TargetSet, | |
| bool | ForceLink = false | |||
| ) | [inline] |
DEPRECATED: Make a link from this reference source to the specified target set.
| void SetLink | ( | MDObjectPtr | NewLink | ) | [inline] |
Record that a link exists (not the same as making a link - see MakeRef).
| ClassRef GetRefType | ( | void | ) | const [inline] |
Ref access function.
| MDOTypePtr GetRefTarget | ( | void | ) | const [inline] |
Accessor for Reference Target.
| 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 & | Object, | |
| UInt64 | Location, | |||
| UInt32 | NewKLSize | |||
| ) | [inline] |
Set the parent details when an object has been read from memory.
| MDObjectParent& GetParent | ( | void | ) | [inline] |
Access function for Parent.
| MXFFilePtr& GetParentFile | ( | void | ) | [inline] |
Access function for ParentFile.
| void SetTag | ( | Tag | NewTag | ) | [inline] |
Set the object's tag.
| Tag GetTag | ( | void | ) | [inline] |
Get the object's tag.
| bool ChangeType | ( | const UL & | NewType | ) | [inline] |
| bool ChangeType | ( | ULPtr & | NewType | ) | [inline] |
| bool ChangeType | ( | std::string | NewType | ) | [inline] |
| MDObjectPtr MakeCopy | ( | void | ) |
Make a copy of this object.
| void SetModified | ( | bool | State | ) | [inline, protected] |
Sets the modification state of this object.
| bool SetGenerationUID | ( | UUIDPtr | UID | ) |
Set the GenerationUID of an object iff it has been modified.
| bool IsModified | ( | void | ) |
Has this object (including any child objects) been modified?
| void ClearModified | ( | void | ) |
Clear the modified flag on this object and any contained objects.
| UInt64 GetLocation | ( | void | ) |
Get the location within the ultimate parent.
| std::string GetSource | ( | void | ) |
Get text that describes where this item came from.
| std::string GetSourceLocation | ( | void | ) | [inline] |
Get text that describes exactly where this item came from.
| ObjectInterface* GetOuter | ( | void | ) | [inline] |
Get pointer to Outer object.
| void SetOuter | ( | ObjectInterface * | NewOuter | ) | [inline] |
Set pointer to Outer object.
| static void SetULTranslator | ( | ULTranslator | Trans | ) | [inline, static] |
Set a translator function to translate unknown ULs to object names.
| static void SetParseDark | ( | bool | Value | ) | [inline, static] |
Set the "attempt to parse dark metadata" flag.
| UInt32 ReadKey | ( | DictKeyFormat | Format, | |
| size_t | Size, | |||
| const UInt8 * | Buffer, | |||
| DataChunk & | Key | |||
| ) | [static, protected] |
Read a key from a memory buffer.
| UInt32 ReadLength | ( | DictLenFormat | Format, | |
| size_t | Size, | |||
| const UInt8 * | Buffer, | |||
| Length & | Length | |||
| ) | [static, protected] |
Read a length field from a memory buffer.
| UInt32 WriteKey | ( | DataChunkPtr & | Buffer, | |
| DictKeyFormat | Format, | |||
| PrimerPtr | UsePrimer = NULL | |||
| ) | [protected] |
Write an objects key.
The key is appended to the specified buffer
If a 2-byte local tag is used the primer UsePrimer is used to determine the correct tag. UsePrimer will be updated if it doesn't yet incude the tag
| UInt32 WriteLength | ( | DataChunkPtr & | Buffer, | |
| Length | Length, | |||
| DictLenFormat | Format, | |||
| UInt32 | Size = 0 | |||
| ) | [static, protected] |
Write a length field to a memory buffer.
The length is appended to the specified buffer
| Buffer | The buffer to receive the length | |
| Length | The length to be written | |
| Format | The format to use for the length | |
| Size | The total number of bytes to write for a BER length (or 0 for auto) |
MDOTypePtr Type [protected] |
MDObjectPtr Link [protected] |
bool IsConstructed [protected] |
True if this object is constructed, false if read from a file or a parent object.
UInt64 ParentOffset [protected] |
Offset from start of parent object if read from file or object.
MDObjectParent Parent [protected] |
Pointer to parent if read from inside another object.
MXFFileParent ParentFile [protected] |
Pointer to parent file if read from a file.
std::string ObjectName [protected] |
The name of this object (normally the name of the type).
bool Modified [protected] |
True if this object has been modified since being "read".
This is used to automatically update the GenerationUID when writing the object
ObjectInterface* Outer [protected] |
Pointer to outer object if this is a sub-object of an ObjectInterface derived object.
MDObject::ULTranslator UL2NameFunc [static, protected] |
Translator function to translate unknown ULs to object names.
bool ParseDark [static, protected] |
Static flag to say if dark metadata sets that appear to be valid KLV 2x2 sets should be parsed.
1.5.1-p1