ADTF  3.18.2
cDDLDescription

Main class representing a whole DDL description. More...

Inheritance diagram for cDDLDescription:
[legend]

Public Member Functions

 cDDLDescription (cDDLHeader *poHeader, const tDDLUnitVec &vecDDLUnits=tDDLUnitVec(), const tDDLBaseunitVec &vecDDLBaseunits=tDDLBaseunitVec(), const tDDLPrefixVec &vecDDLPrefixes=tDDLPrefixVec(), const tDDLDTVec &vecDTs=tDDLDTVec(), const tDDLComplexVec &vecStructs=tDDLComplexVec(), const tDDLStreamVec &vecStreams=tDDLStreamVec(), const tDDLEnumVec &vecEnums=tDDLEnumVec(), bool bMergeDefaults=true)
 CTOR. More...
 
virtual ~cDDLDescription ()
 DTOR.
 
tResult Accept (IDDLVisitor *poVisitor)
 Acceptance method for Visitor design-pattern. More...
 
bool IsInitialized () const
 Getter for the initialization flag. More...
 
const A_UTILS_NS::cStringGetName () const
 Getter for the name of the representation object. More...
 
tResult Create (cDDLHeader *poHeader, tDDLUnitVec vecDDLUnits=tDDLUnitVec(), tDDLBaseunitVec vecDDLBaseunits=tDDLBaseunitVec(), tDDLPrefixVec vecDDLPrefixes=tDDLPrefixVec(), tDDLDTVec vecDTs=tDDLDTVec(), tDDLComplexVec vecStructs=tDDLComplexVec(), tDDLStreamVec vecStreams=tDDLStreamVec(), tDDLEnumVec vecEnums=tDDLEnumVec())
 Creation method to fill the object with data. More...
 
cDDLHeaderGetHeader () const
 Getter for the DDL header. More...
 
void CloneUnits (const tDDLUnitVec &vecDDLUnits)
 Setter for the units. More...
 
void RefUnits (tDDLUnitVec &vecDDLUnits)
 Setter for the units. More...
 
void MergeUnits (tDDLUnitVec vecDDLUnits, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the units. More...
 
void AddUnit (cDDLUnit *poUnit, int nPos=-1)
 Adder for an unit object. More...
 
tDDLUnitVecGetUnits ()
 Getter for the units. More...
 
const tDDLUnitVecGetUnits () const
 Getter for the units. More...
 
const cDDLUnitGetUnitByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific unit object. More...
 
cDDLUnitGetUnitByName (const A_UTILS_NS::cString &strName)
 Getter for a specific unit object. More...
 
void CloneBaseunits (const tDDLBaseunitVec &vecDDLBaseunits)
 Setter for the baseunits. More...
 
void RefBaseunits (tDDLBaseunitVec &vecDDLBaseunits)
 Setter for the baseunits. More...
 
void MergeBaseunits (tDDLBaseunitVec vecDDLBaseunits, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the baseunits. More...
 
void AddBaseunit (cDDLBaseunit *poBaseunit, int nPos=-1)
 Adder for a baseunit object. More...
 
tDDLBaseunitVec GetBaseunits () const
 Getter for the baseunits. More...
 
const cDDLBaseunitGetBaseunitByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific baseunit object. More...
 
cDDLBaseunitGetBaseunitByName (const A_UTILS_NS::cString &strName)
 Getter for a specific baseunit object. More...
 
void ClonePrefixes (const tDDLPrefixVec &vecDDLPrefixes)
 Setter for the prefixes. More...
 
void RefPrefixes (tDDLPrefixVec &vecDDLPrefixes)
 Setter for the prefixes. More...
 
void MergePrefixes (tDDLPrefixVec vecDDLPrefixes, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the prefixes. More...
 
void AddPrefix (cDDLPrefix *poPrefix, int nPos=-1)
 Adder for a prefix object. More...
 
tDDLPrefixVec GetPrefixes () const
 Getter for the prefixes. More...
 
cDDLPrefixGetPrefixByName (const A_UTILS_NS::cString &strName)
 Getter for a specific prefix object. More...
 
const cDDLPrefixGetPrefixByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific prefix object. More...
 
void CloneDatatypes (const tDDLDTVec &vecDDLDataTypes)
 Setter for the data types. More...
 
void RefDatatypes (tDDLDTVec &vecDDLDataTypes)
 Setter for the data types. More...
 
void RefEnums (tDDLEnumVec &vecDDLEnum)
 Setter for the constants. More...
 
void MergeEnums (tDDLEnumVec vecDDLEnum, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the constants. More...
 
void CloneEnums (const tDDLEnumVec &vecDDLEnums)
 Setter for the enums. More...
 
void AddEnum (cDDLEnum *poEnum, int nPos=-1)
 Adder for a enum object. More...
 
cDDLEnumGetEnumByName (const A_UTILS_NS::cString &strName)
 Getter for a specific enum object. More...
 
const cDDLEnumGetEnumByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific enum object. More...
 
void MergeDatatypes (tDDLDTVec vecDDLDataTypes, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the data types. More...
 
void AddDatatype (cDDLDataType *poDatatype, int nPos=-1)
 Adder for a datatype object. More...
 
tDDLDTVecGetDatatypes ()
 Getter for the datatypes. More...
 
const tDDLDTVecGetDatatypes () const
 Getter for the datatypes. More...
 
tDDLEnumVecGetEnums ()
 Getter for the enums. More...
 
const tDDLEnumVecGetEnums () const
 Getter for the enums. More...
 
cDDLDataTypeGetDataTypeByName (const A_UTILS_NS::cString &strName)
 Getter for a specific data-type object. More...
 
const cDDLDataTypeGetDataTypeByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific data-type object. More...
 
void CloneStructs (const tDDLComplexVec &vecStructs)
 Setter for the complex datatypes. More...
 
void RefStructs (tDDLComplexVec &vecStructs)
 Setter for the complex datatypes. More...
 
void MergeStructs (tDDLComplexVec vecStructs, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the complex datatypes. More...
 
void AddStruct (cDDLComplex *poStruct, int nPos=-1)
 Adder for a complex datatype object. More...
 
tDDLComplexVecGetStructs ()
 Getter for the complex datatypes. More...
 
const tDDLComplexVecGetStructs () const
 Getter for the complex datatypes. More...
 
const cDDLComplexGetStructByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific struct object. More...
 
cDDLComplexGetStructByName (const A_UTILS_NS::cString &strName)
 Getter for a specific struct object. More...
 
tResult RemoveType (const A_UTILS_NS::cString &strName)
 Removes the specified primitive or complex data-type. More...
 
tResult RemoveDataType (const A_UTILS_NS::cString &strName)
 Removes the specified primitive data-type. More...
 
tResult RemoveComplexDataType (const A_UTILS_NS::cString &strName)
 Removes the specified complex data-type. More...
 
tResult MoveHeaderExcDec (const int nFrom, const int nTo)
 Method moves the specified external header declaration. More...
 
tResult MoveBaseunit (const int nFrom, const int nTo)
 Method moves the specified base unit. More...
 
tResult MovePrefix (const int nFrom, const int nTo)
 Method moves the specified prefix. More...
 
tResult MoveUnit (const int nFrom, const int nTo)
 Method moves the specified unit. More...
 
tResult MoveRefUnit (const int nFrom, const int nTo, const A_UTILS_NS::cString &strParent)
 Method moves the specified element within a unit. More...
 
tResult MoveEnum (const int nFrom, const int nTo)
 Method moves the specified enum-type. More...
 
tResult MoveEnumElement (const int nFrom, const int nTo, const A_UTILS_NS::cString &strParent)
 Method moves the specified enum element. More...
 
tResult MoveDatatype (const int nFrom, const int nTo)
 Method moves the specified data-type. More...
 
tResult MoveComplexDataType (const int nFrom, const int nTo)
 Method moves the specified complex data-type. More...
 
tResult MoveComplexDataTypeElement (const int nFrom, const int nTo, const A_UTILS_NS::cString &strParent)
 Method moves the specified element within complex data-type. More...
 
tResult MoveStream (const int nFrom, const int nTo)
 Method moves the specified stream. More...
 
tResult RemoveBaseunit (const A_UTILS_NS::cString &strName)
 Removes the specified BaseUnit type. More...
 
tResult RemovePrefix (const A_UTILS_NS::cString &strName)
 Removes the specified Unit type. More...
 
tResult RemoveUnit (const A_UTILS_NS::cString &strName)
 Removes the specified Unit type. More...
 
tResult RemoveEnum (const A_UTILS_NS::cString &strName)
 Removes the specified enum. More...
 
void CloneStreams (const tDDLStreamVec &vecStreams)
 Setter for the streams. More...
 
void RefStreams (tDDLStreamVec &vecStreams)
 Setter for the streams. More...
 
void MergeStreams (tDDLStreamVec vecStreams, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the streams. More...
 
void AddStream (cDDLStream *poStream, int nPos=-1)
 Adder for a stream object. More...
 
tDDLStreamVecGetStreams ()
 Getter for the streams. More...
 
const tDDLStreamVecGetStreams () const
 Getter for the streams. More...
 
cDDLStreamGetStreamByName (const A_UTILS_NS::cString &strName)
 Getter for a specific stream object. More...
 
const cDDLStreamGetStreamByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific stream object. More...
 
tResult RenameStream (const A_UTILS_NS::cString &strOldName, const A_UTILS_NS::cString &strNewName)
 Renames the specified stream. More...
 
tResult RemoveStream (const A_UTILS_NS::cString &strName)
 Removes the specified stream from the description. More...
 
void CloneStreamMetaTypes (const tDDLStreamMetaTypeVec &vecStreams)
 Setter for the streams. More...
 
void RefStreamMetaTypes (tDDLStreamMetaTypeVec &vecStreams)
 Setter for the streams. More...
 
void MergeStreamMetaTypes (tDDLStreamMetaTypeVec vecStreams, uint32_t ui32JoinFlags=0, tDDLVec *pvecDeleteData=NULL)
 Merger for the streams. More...
 
void AddStreamMetaType (cDDLStreamMetaType *poStream, int nPos=-1)
 Adder for a stream object. More...
 
tDDLStreamMetaTypeVecGetStreamMetaTypes ()
 Getter for the streams. More...
 
const tDDLStreamMetaTypeVecGetStreamMetaTypes () const
 Getter for the streams. More...
 
cDDLStreamMetaTypeGetStreamMetaTypeByName (const A_UTILS_NS::cString &strName)
 Getter for a specific stream object. More...
 
const cDDLStreamMetaTypeGetStreamMetaTypeByName (const A_UTILS_NS::cString &strName) const
 Getter for a specific stream object. More...
 
tResult RenameStreamMetaType (const A_UTILS_NS::cString &strOldName, const A_UTILS_NS::cString &strNewName)
 Renames the specified stream. More...
 
tResult RemoveStreamMetaType (const A_UTILS_NS::cString &strName)
 Removes the specified stream from the description. More...
 
tResult Merge (cDDLDescription &oDDL, uint32_t ui32JoinFlags=0)
 Merges another DDL into this one. More...
 
tResult RestoreLevel (int const nLevel)
 Deprecated, see IMediaDescriptionStack for the mechanism provided by the Media Description Service that superseeds this functionality. More...
 
- Public Member Functions inherited from cDDL
virtual ~cDDL ()
 DTOR.
 
virtual bool IsPredefined () const
 Getter for the predefinition flag. More...
 
virtual bool IsOverwriteable () const
 Getter for the predefinition flag. More...
 
virtual int GetCreationLevel () const
 Getter for the creation level. More...
 
- Public Member Functions inherited from IDDL
virtual ~IDDL ()
 Virtual DTOR.
 

Static Public Member Functions

static cDDLDescriptionCreateDefault (int const nCreationLevel=1, bool bSorted=true)
 Method to create a default DDL description. More...
 
static cDDLDescriptionCreateDefault (double fVersion, int const nCreationLevel, bool bSorted=true)
 Overloaded method. More...
 
- Static Public Member Functions inherited from cDDL
template<typename T >
static T * DeleteChild (T *pvObj)
 Functor for use with std::transform() to delete all objects where the elements of a vector point at. More...
 
template<typename T >
static tResult MoveChild (T *pvObj, const int nFrom, const int nTo)
 Method moves element within the list. More...
 
template<typename T >
static T * Clone (T *pvObj)
 Functor for use with std::transform() to clone the objects where the elements of a vector point at. More...
 
template<typename T >
static T * Ref (T *pvObj)
 Functor for use with std::transform() to ref the objects where the elements of a vector point at, this is for the Always_there. More...
 
static bool IsEqual (IDDL *poLHS, IDDL *poRHS)
 Predicate to compare 2 DDL representation objects (for use with std::unique()). More...
 
static bool IsSorted (IDDL *poLHS, IDDL *poRHS)
 Sort predicate to compare to 2 DDL representation objects (for use with std::sort()). More...
 

Private Member Functions

 cDDLDescription ()
 Hidden default CTOR.
 

Static Private Member Functions

template<typename T >
static bool MergePart (cDDLContainer< T > &vecMemberData, cDDLContainer< T > &vecOtherData, uint32_t ui32JoinFlags, tDDLVec *pvecDeleteDataMem, cDDLDescription *pDesc, const bool &bRefs, const bool &bDeleteNonOverwritten=false)
 Helper method to merge a vector of representation objects into the according vector inside another DDL description. More...
 

Private Attributes

cDDLHeaderm_poHeader
 
tDDLUnitVec m_vecDDLUnits
 
tDDLBaseunitVec m_vecDDLBaseunits
 
tDDLPrefixVec m_vecDDLPrefixes
 
tDDLDTVec m_vecDDLDataTypes
 
tDDLEnumVec m_vecDDLEnums
 
tDDLComplexVec m_vecStructs
 
tDDLStreamVec m_vecStreams
 
tDDLStreamMetaTypeVec m_vecStreamMetaTypes
 
bool m_bInitFlag
 
bool m_bMergeDefaults
 

Additional Inherited Members

- Public Types inherited from IDDL
enum  tag_MergeFlags { DDLMERGE_ForceOverwrite = 0x01 }
 Flags for Merging.
 

Detailed Description

Main class representing a whole DDL description.

Definition at line 17 of file ddldescription.h.

Constructor & Destructor Documentation

◆ cDDLDescription()

cDDLDescription ( cDDLHeader poHeader,
const tDDLUnitVec vecDDLUnits = tDDLUnitVec(),
const tDDLBaseunitVec vecDDLBaseunits = tDDLBaseunitVec(),
const tDDLPrefixVec vecDDLPrefixes = tDDLPrefixVec(),
const tDDLDTVec vecDTs = tDDLDTVec(),
const tDDLComplexVec vecStructs = tDDLComplexVec(),
const tDDLStreamVec vecStreams = tDDLStreamVec(),
const tDDLEnumVec vecEnums = tDDLEnumVec(),
bool  bMergeDefaults = true 
)

CTOR.

Parameters
[in]poHeader- Pointer to Header object
[in]vecDDLUnits- Vector of units (optional)
[in]vecDDLBaseunits- Vector of baseunits (optional)
[in]vecDDLPrefixes- Vector of prefixes (optional)
[in]vecDTs- Vector of datatypes (optional)
[in]vecStructs- Vector of complex datatypes (optional)
[in]vecStreams- Vector of streams (optional)
[in]vecEnums- Vector of enums (optional)
[in]bMergeDefaultsWhether or not to merge DDL default elements (datatypes etc.).

Member Function Documentation

◆ Accept()

tResult Accept ( IDDLVisitor poVisitor)
virtual

Acceptance method for Visitor design-pattern.

Parameters
[in]poVisitor- Pointer to Visitor instance
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.
ERR_NOT_INITIALIZEDThe object was not or not correctly initialized

Implements IDDL.

◆ AddBaseunit()

void AddBaseunit ( cDDLBaseunit poBaseunit,
int  nPos = -1 
)

Adder for a baseunit object.

Parameters
[in]poBaseunit- Pointer to the baseunit object to add
[in]nPos- Position to add the baseunit object
Returns
void

◆ AddDatatype()

void AddDatatype ( cDDLDataType poDatatype,
int  nPos = -1 
)

Adder for a datatype object.

Parameters
[in]poDatatype- Pointer to the datatype object to add
[in]nPos- Position to add the datatype object
Returns
void

◆ AddEnum()

void AddEnum ( cDDLEnum poEnum,
int  nPos = -1 
)

Adder for a enum object.

Parameters
[in]poEnum- Pointer to the enum object to add
[in]nPos- Position to add the enum object
Returns
void

◆ AddPrefix()

void AddPrefix ( cDDLPrefix poPrefix,
int  nPos = -1 
)

Adder for a prefix object.

Parameters
[in]poPrefix- Pointer to the prefix object to add
[in]nPos- Position to add the prefix object
Returns
void

◆ AddStream()

void AddStream ( cDDLStream poStream,
int  nPos = -1 
)

Adder for a stream object.

Parameters
[in]poStream- Pointer to the stream object to add
[in]nPos- Position to add the stream object
Returns
void

◆ AddStreamMetaType()

void AddStreamMetaType ( cDDLStreamMetaType poStream,
int  nPos = -1 
)

Adder for a stream object.

Parameters
[in]poStream- Pointer to the stream object to add
[in]nPos- Position to add the stream object
Returns
void

◆ AddStruct()

void AddStruct ( cDDLComplex poStruct,
int  nPos = -1 
)

Adder for a complex datatype object.

Parameters
[in]poStruct- Pointer to the complex datatype object to add
[in]nPos- Position to add the complex datatype object
Returns
void

◆ AddUnit()

void AddUnit ( cDDLUnit poUnit,
int  nPos = -1 
)

Adder for an unit object.

Parameters
[in]poUnit- Pointer to the unit object to add
[in]nPos- Position to add the unit object
Returns
void

◆ CloneBaseunits()

void CloneBaseunits ( const tDDLBaseunitVec vecDDLBaseunits)

Setter for the baseunits.

Parameters
[in]vecDDLBaseunits- Vector of baseunit objects
Returns
void

◆ CloneDatatypes()

void CloneDatatypes ( const tDDLDTVec vecDDLDataTypes)

Setter for the data types.

Parameters
[in]vecDDLDataTypes- Vector of datatypes
Returns
void

◆ CloneEnums()

void CloneEnums ( const tDDLEnumVec vecDDLEnums)

Setter for the enums.

Parameters
[in]vecDDLEnums- Vector of enums
Returns
void

◆ ClonePrefixes()

void ClonePrefixes ( const tDDLPrefixVec vecDDLPrefixes)

Setter for the prefixes.

Parameters
[in]vecDDLPrefixes- Vector of prefix objects
Returns
void

◆ CloneStreamMetaTypes()

void CloneStreamMetaTypes ( const tDDLStreamMetaTypeVec vecStreams)

Setter for the streams.

Parameters
[in]vecStreams- Vector of streams
Returns
void

◆ CloneStreams()

void CloneStreams ( const tDDLStreamVec vecStreams)

Setter for the streams.

Parameters
[in]vecStreams- Vector of streams
Returns
void

◆ CloneStructs()

void CloneStructs ( const tDDLComplexVec vecStructs)

Setter for the complex datatypes.

Parameters
[in]vecStructs- Vector of complex datatypes
Returns
void

◆ CloneUnits()

void CloneUnits ( const tDDLUnitVec vecDDLUnits)

Setter for the units.

Parameters
[in]vecDDLUnits- Vector of unit objects
Returns
void

◆ Create()

tResult Create ( cDDLHeader poHeader,
tDDLUnitVec  vecDDLUnits = tDDLUnitVec(),
tDDLBaseunitVec  vecDDLBaseunits = tDDLBaseunitVec(),
tDDLPrefixVec  vecDDLPrefixes = tDDLPrefixVec(),
tDDLDTVec  vecDTs = tDDLDTVec(),
tDDLComplexVec  vecStructs = tDDLComplexVec(),
tDDLStreamVec  vecStreams = tDDLStreamVec(),
tDDLEnumVec  vecEnums = tDDLEnumVec() 
)

Creation method to fill the object with data.

Parameters
[in]poHeader- Pointer to Header object
[in]vecDDLUnits- Vector of units (optional)
[in]vecDDLBaseunits- Vector of baseunits (optional)
[in]vecDDLPrefixes- Vector of prefixes (optional)
[in]vecDTs- Vector of datatypes (optional)
[in]vecStructs- Vector of complex datatypes (optional)
[in]vecStreams- Vector of streams (optional)
[in]vecEnums- Vector of enums (optional)
Return values
ERR_POINTERNull-pointer committed

◆ CreateDefault() [1/2]

static cDDLDescription* CreateDefault ( double  fVersion,
int const  nCreationLevel,
bool  bSorted = true 
)
static

Overloaded method.

Method to create a default DDL description.

Parameters
[in]nCreationLevelCreation level to use (optional)
[in]bSortedSorts all DDL items by name for better performance. (optional)
Returns
pointer to the created description
Attention
The caller/user has the responsibility for the created DDL object! Especially take this aspect into consideration in matters of the deallocation of memory!
Parameters
[in]fVersionThe version of the description. Pass 0 to get the newest version.
Returns
pointer to the created description

◆ CreateDefault() [2/2]

static cDDLDescription* CreateDefault ( int const  nCreationLevel = 1,
bool  bSorted = true 
)
static

Method to create a default DDL description.

Parameters
[in]nCreationLevelCreation level to use (optional)
[in]bSortedSorts all DDL items by name for better performance. (optional)
Returns
pointer to the created description
Attention
The caller/user has the responsibility for the created DDL object! Especially take this aspect into consideration in matters of the deallocation of memory!

◆ GetBaseunitByName() [1/2]

cDDLBaseunit* GetBaseunitByName ( const A_UTILS_NS::cString strName)

Getter for a specific baseunit object.

Parameters
[in]strName- Name of the baseunit to look for
Returns
pointer to the baseunit object or NULL if not found

◆ GetBaseunitByName() [2/2]

const cDDLBaseunit* GetBaseunitByName ( const A_UTILS_NS::cString strName) const

Getter for a specific baseunit object.

Parameters
[in]strName- Name of the baseunit to look for
Returns
pointer to the baseunit object or NULL if not found

◆ GetBaseunits()

tDDLBaseunitVec GetBaseunits ( ) const

Getter for the baseunits.

Returns
vector of baseunits

◆ GetDataTypeByName() [1/2]

cDDLDataType* GetDataTypeByName ( const A_UTILS_NS::cString strName)

Getter for a specific data-type object.

Parameters
[in]strName- Name of the data type to look for
Returns
pointer to the data-type object or NULL if not found

◆ GetDataTypeByName() [2/2]

const cDDLDataType* GetDataTypeByName ( const A_UTILS_NS::cString strName) const

Getter for a specific data-type object.

Parameters
[in]strName- Name of the data type to look for
Returns
pointer to the data-type object or NULL if not found

◆ GetDatatypes() [1/2]

tDDLDTVec& GetDatatypes ( )

Getter for the datatypes.

Returns
vector of datatypes

◆ GetDatatypes() [2/2]

const tDDLDTVec& GetDatatypes ( ) const

Getter for the datatypes.

Returns
vector of datatypes

◆ GetEnumByName() [1/2]

cDDLEnum* GetEnumByName ( const A_UTILS_NS::cString strName)

Getter for a specific enum object.

Parameters
[in]strName- Name of the enum to look for
Returns
pointer to the enum object or NULL if not found

◆ GetEnumByName() [2/2]

const cDDLEnum* GetEnumByName ( const A_UTILS_NS::cString strName) const

Getter for a specific enum object.

Parameters
[in]strName- Name of the enum to look for
Returns
pointer to the enum object or NULL if not found

◆ GetEnums() [1/2]

tDDLEnumVec& GetEnums ( )

Getter for the enums.

Returns
vector of enums

◆ GetEnums() [2/2]

const tDDLEnumVec& GetEnums ( ) const

Getter for the enums.

Returns
vector of enums

◆ GetHeader()

cDDLHeader* GetHeader ( ) const

Getter for the DDL header.

Returns
the header

◆ GetName()

const A_UTILS_NS::cString& GetName ( ) const
virtual

Getter for the name of the representation object.

Returns
the name

Implements IDDL.

◆ GetPrefixByName() [1/2]

cDDLPrefix* GetPrefixByName ( const A_UTILS_NS::cString strName)

Getter for a specific prefix object.

Parameters
[in]strName- Name of the prefix to look for
Returns
pointer to the prefix object or NULL if not found

◆ GetPrefixByName() [2/2]

const cDDLPrefix* GetPrefixByName ( const A_UTILS_NS::cString strName) const

Getter for a specific prefix object.

Parameters
[in]strName- Name of the prefix to look for
Returns
pointer to the prefix object or NULL if not found

◆ GetPrefixes()

tDDLPrefixVec GetPrefixes ( ) const

Getter for the prefixes.

Returns
vector of prefixes

◆ GetStreamByName() [1/2]

cDDLStream* GetStreamByName ( const A_UTILS_NS::cString strName)

Getter for a specific stream object.

Parameters
[in]strName- Name of the stream to look for
Returns
pointer to the stream object or NULL if not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ GetStreamByName() [2/2]

const cDDLStream* GetStreamByName ( const A_UTILS_NS::cString strName) const

Getter for a specific stream object.

Parameters
[in]strName- Name of the stream to look for
Returns
pointer to the stream object or NULL if not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ GetStreamMetaTypeByName() [1/2]

cDDLStreamMetaType* GetStreamMetaTypeByName ( const A_UTILS_NS::cString strName)

Getter for a specific stream object.

Parameters
[in]strName- Name of the stream to look for
Returns
pointer to the stream object or NULL if not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ GetStreamMetaTypeByName() [2/2]

const cDDLStreamMetaType* GetStreamMetaTypeByName ( const A_UTILS_NS::cString strName) const

Getter for a specific stream object.

Parameters
[in]strName- Name of the stream to look for
Returns
pointer to the stream object or NULL if not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ GetStreamMetaTypes() [1/2]

tDDLStreamMetaTypeVec& GetStreamMetaTypes ( )

Getter for the streams.

Returns
vector of streams

◆ GetStreamMetaTypes() [2/2]

const tDDLStreamMetaTypeVec& GetStreamMetaTypes ( ) const

Getter for the streams.

Returns
vector of streams

◆ GetStreams() [1/2]

tDDLStreamVec& GetStreams ( )

Getter for the streams.

Returns
vector of streams

◆ GetStreams() [2/2]

const tDDLStreamVec& GetStreams ( ) const

Getter for the streams.

Returns
vector of streams

◆ GetStructByName() [1/2]

cDDLComplex* GetStructByName ( const A_UTILS_NS::cString strName)

Getter for a specific struct object.

Parameters
[in]strName- Name of the struct to look for
Returns
pointer to the struct object or NULL if not found

◆ GetStructByName() [2/2]

const cDDLComplex* GetStructByName ( const A_UTILS_NS::cString strName) const

Getter for a specific struct object.

Parameters
[in]strName- Name of the struct to look for
Returns
pointer to the struct object or NULL if not found

◆ GetStructs() [1/2]

tDDLComplexVec& GetStructs ( )

Getter for the complex datatypes.

Returns
vector of complex datatypes

◆ GetStructs() [2/2]

const tDDLComplexVec& GetStructs ( ) const

Getter for the complex datatypes.

Returns
vector of complex datatypes

◆ GetUnitByName() [1/2]

cDDLUnit* GetUnitByName ( const A_UTILS_NS::cString strName)

Getter for a specific unit object.

Parameters
[in]strName- Name of the unit to look for
Returns
pointer to the unit object or NULL if not found

◆ GetUnitByName() [2/2]

const cDDLUnit* GetUnitByName ( const A_UTILS_NS::cString strName) const

Getter for a specific unit object.

Parameters
[in]strName- Name of the unit to look for
Returns
pointer to the unit object or NULL if not found

◆ GetUnits() [1/2]

tDDLUnitVec& GetUnits ( )

Getter for the units.

Returns
vector of units

◆ GetUnits() [2/2]

const tDDLUnitVec& GetUnits ( ) const

Getter for the units.

Returns
vector of units

◆ IsInitialized()

bool IsInitialized ( ) const
virtual

Getter for the initialization flag.

Return values
trueThe object was initialized correctly
falseThe object was not or not correctly initialized

Reimplemented from cDDL.

◆ Merge()

tResult Merge ( cDDLDescription oDDL,
uint32_t  ui32JoinFlags = 0 
)

Merges another DDL into this one.

Parameters
[in]oDDL- Reference to DDL object to merge into this object
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
Return values
ERR_INVALID_VERSIONIncompatible DDL descriptions detected (not the same DDL version)

◆ MergeBaseunits()

void MergeBaseunits ( tDDLBaseunitVec  vecDDLBaseunits,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the baseunits.

Parameters
[in]vecDDLBaseunits- Vector of baseunit objects
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergeDatatypes()

void MergeDatatypes ( tDDLDTVec  vecDDLDataTypes,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the data types.

Parameters
[in]vecDDLDataTypes- Vector of datatypes
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergeEnums()

void MergeEnums ( tDDLEnumVec  vecDDLEnum,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the constants.

Parameters
[in]vecDDLEnum- Vector of constants
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergePart()

static bool MergePart ( cDDLContainer< T > &  vecMemberData,
cDDLContainer< T > &  vecOtherData,
uint32_t  ui32JoinFlags,
tDDLVec pvecDeleteDataMem,
cDDLDescription pDesc,
const bool &  bRefs,
const bool &  bDeleteNonOverwritten = false 
)
staticprivate

Helper method to merge a vector of representation objects into the according vector inside another DDL description.

Template Parameters
T- Representation object type (e.g. cDDLUnit)
Parameters
[in]vecMemberData- Vector of objects to merge into
[in]vecOtherData- Vector of objects to merge
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in]pvecDeleteDataMem- pointer to Vector of Object that can be deleted
[in]pDesc
[in]bRefs- Add references or clone
[in]bDeleteNonOverwritten- default value is false
Return values
trueif vecMemberData was updated
falseotherwise

◆ MergePrefixes()

void MergePrefixes ( tDDLPrefixVec  vecDDLPrefixes,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the prefixes.

Parameters
[in]vecDDLPrefixes- Vector of prefix objects
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergeStreamMetaTypes()

void MergeStreamMetaTypes ( tDDLStreamMetaTypeVec  vecStreams,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the streams.

Parameters
[in]vecStreams- Vector of stream objects
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergeStreams()

void MergeStreams ( tDDLStreamVec  vecStreams,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the streams.

Parameters
[in]vecStreams- Vector of stream objects
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergeStructs()

void MergeStructs ( tDDLComplexVec  vecStructs,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the complex datatypes.

Parameters
[in]vecStructs- Vector of complex datatypes
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in,out]pvecDeleteData- temporary vector for data that can be deleted afterwards.
Returns
void

◆ MergeUnits()

void MergeUnits ( tDDLUnitVec  vecDDLUnits,
uint32_t  ui32JoinFlags = 0,
tDDLVec pvecDeleteData = NULL 
)

Merger for the units.

Parameters
[in]vecDDLUnits- Vector of unit objects
[in]ui32JoinFlags- Additional flags for join/merge process (optional)
[in]pvecDeleteData- deletion vector for optimezed deletion
Returns
void

◆ MoveBaseunit()

tResult MoveBaseunit ( const int  nFrom,
const int  nTo 
)

Method moves the specified base unit.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveComplexDataType()

tResult MoveComplexDataType ( const int  nFrom,
const int  nTo 
)

Method moves the specified complex data-type.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveComplexDataTypeElement()

tResult MoveComplexDataTypeElement ( const int  nFrom,
const int  nTo,
const A_UTILS_NS::cString strParent 
)

Method moves the specified element within complex data-type.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
[in]strParent- Name of parent element
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveDatatype()

tResult MoveDatatype ( const int  nFrom,
const int  nTo 
)

Method moves the specified data-type.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveEnum()

tResult MoveEnum ( const int  nFrom,
const int  nTo 
)

Method moves the specified enum-type.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveEnumElement()

tResult MoveEnumElement ( const int  nFrom,
const int  nTo,
const A_UTILS_NS::cString strParent 
)

Method moves the specified enum element.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
[in]strParent- Name of parent element
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveHeaderExcDec()

tResult MoveHeaderExcDec ( const int  nFrom,
const int  nTo 
)

Method moves the specified external header declaration.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MovePrefix()

tResult MovePrefix ( const int  nFrom,
const int  nTo 
)

Method moves the specified prefix.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveRefUnit()

tResult MoveRefUnit ( const int  nFrom,
const int  nTo,
const A_UTILS_NS::cString strParent 
)

Method moves the specified element within a unit.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
[in]strParent- Unit name
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveStream()

tResult MoveStream ( const int  nFrom,
const int  nTo 
)

Method moves the specified stream.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ MoveUnit()

tResult MoveUnit ( const int  nFrom,
const int  nTo 
)

Method moves the specified unit.

Parameters
[in]nFrom- Current element position in the list
[in]nTo- New element position in the list
Return values
ERR_OUT_OF_RANGEInput parameters are out of range.

◆ RefBaseunits()

void RefBaseunits ( tDDLBaseunitVec vecDDLBaseunits)

Setter for the baseunits.

Parameters
[in]vecDDLBaseunits- Vector of baseunit objects
Returns
void

◆ RefDatatypes()

void RefDatatypes ( tDDLDTVec vecDDLDataTypes)

Setter for the data types.

Parameters
[in]vecDDLDataTypes- Vector of datatypes
Returns
void

◆ RefEnums()

void RefEnums ( tDDLEnumVec vecDDLEnum)

Setter for the constants.

Parameters
[in]vecDDLEnum- Vector of enums
Returns
void

◆ RefPrefixes()

void RefPrefixes ( tDDLPrefixVec vecDDLPrefixes)

Setter for the prefixes.

Parameters
[in]vecDDLPrefixes- Vector of prefix objects
Returns
void

◆ RefStreamMetaTypes()

void RefStreamMetaTypes ( tDDLStreamMetaTypeVec vecStreams)

Setter for the streams.

Parameters
[in]vecStreams- Vector of streams
Returns
void

◆ RefStreams()

void RefStreams ( tDDLStreamVec vecStreams)

Setter for the streams.

Parameters
[in]vecStreams- Vector of streams
Returns
void

◆ RefStructs()

void RefStructs ( tDDLComplexVec vecStructs)

Setter for the complex datatypes.

Parameters
[in]vecStructs- Vector of complex datatypes
Returns
void

◆ RefUnits()

void RefUnits ( tDDLUnitVec vecDDLUnits)

Setter for the units.

Parameters
[in]vecDDLUnits- Vector of unit objects
Returns
void

◆ RemoveBaseunit()

tResult RemoveBaseunit ( const A_UTILS_NS::cString strName)

Removes the specified BaseUnit type.

Parameters
[in]strName- Name of the baseunit to remove
Return values
ERR_NOT_FOUNDThe specified base was not found
Attention
Be careful with the removal of data types! There could be some streams which depend on the removed unit! This possible dependency is not checked!

◆ RemoveComplexDataType()

tResult RemoveComplexDataType ( const A_UTILS_NS::cString strName)

Removes the specified complex data-type.

Parameters
[in]strName- Name of the type to remove
Return values
ERR_NOT_FOUNDThe specified data type was not found
Attention
Be careful with the removal of data types! There could be some streams which depend on the removed type! This possible dependency is not checked!

◆ RemoveDataType()

tResult RemoveDataType ( const A_UTILS_NS::cString strName)

Removes the specified primitive data-type.

Parameters
[in]strName- Name of the type to remove
Return values
ERR_NOT_FOUNDThe specified data type was not found
Attention
Be careful with the removal of data types! There could be some streams which depend on the removed type! This possible dependency is not checked!

◆ RemoveEnum()

tResult RemoveEnum ( const A_UTILS_NS::cString strName)

Removes the specified enum.

Parameters
[in]strName- Name of the enum to remove
Return values
ERR_NOT_FOUNDThe specified enum was not found
Attention
Be careful with the removal of enums! There could be some streams which depend on the removed type! This possible dependency is not checked!

◆ RemovePrefix()

tResult RemovePrefix ( const A_UTILS_NS::cString strName)

Removes the specified Unit type.

Parameters
[in]strName- Name of the prefix to remove
Return values
ERR_NOT_FOUNDThe specified base was not found
Attention
Be careful with the removal of data types! There could be some streams which depend on the removed unit! This possible dependency is not checked!

◆ RemoveStream()

tResult RemoveStream ( const A_UTILS_NS::cString strName)

Removes the specified stream from the description.

Parameters
[in]strName- Name of the stream to remove
Return values
ERR_NOT_FOUNDThe specified stream was not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ RemoveStreamMetaType()

tResult RemoveStreamMetaType ( const A_UTILS_NS::cString strName)

Removes the specified stream from the description.

Parameters
[in]strName- Name of the stream to remove
Return values
ERR_NOT_FOUNDThe specified stream was not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ RemoveType()

tResult RemoveType ( const A_UTILS_NS::cString strName)

Removes the specified primitive or complex data-type.

Parameters
[in]strName- Name of the type to remove
Return values
ERR_NOT_FOUNDThe specified data type was not found
Attention
Be careful with the removal of data types! There could be some streams which depend on the removed type! This possible dependency is not checked!

◆ RemoveUnit()

tResult RemoveUnit ( const A_UTILS_NS::cString strName)

Removes the specified Unit type.

Parameters
[in]strName- Name of the unit to remove
Return values
ERR_NOT_FOUNDThe specified base was not found
Attention
Be careful with the removal of data types! There could be some streams which depend on the removed unit! This possible dependency is not checked!

◆ RenameStream()

tResult RenameStream ( const A_UTILS_NS::cString strOldName,
const A_UTILS_NS::cString strNewName 
)

Renames the specified stream.

Parameters
[in]strOldName- Current name of the stream to rename
[in]strNewName- New name of the stream
Return values
ERR_NOT_FOUNDThe specified stream was not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ RenameStreamMetaType()

tResult RenameStreamMetaType ( const A_UTILS_NS::cString strOldName,
const A_UTILS_NS::cString strNewName 
)

Renames the specified stream.

Parameters
[in]strOldName- Current name of the stream to rename
[in]strNewName- New name of the stream
Return values
ERR_NOT_FOUNDThe specified stream was not found
Remarks
As the name attribute is optional only streams with originally defined name can be found.

◆ RestoreLevel()

tResult RestoreLevel ( int const  nLevel)

Deprecated, see IMediaDescriptionStack for the mechanism provided by the Media Description Service that superseeds this functionality.

Method to remove all representation objects of the specified level and above.

Parameters
[in]nLevel- Creation level from which all representation objects should be removed
Return values
ERR_INVALID_HANDLEValidation of remaining DDL failed