7 #ifndef _DDLCOMPARE_H_INCLUDED_
8 #define _DDLCOMPARE_H_INCLUDED_
77 bool bIsSubSet =
true);
92 bool bIsSubSet =
true);
109 uint32_t ui32Flags = ICF_None);
121 uint32_t ui32Flags = ICF_None);
136 uint32_t ui32Flags = ICF_None);
148 uint32_t ui32Flags = ICF_None);
218 uint32_t ui32Flags = ICF_None);
230 uint32_t ui32Flags = ICF_None);
244 uint32_t ui32Flags = ICF_None);
256 uint32_t ui32Flags = ICF_None);
A common result class usable as return value throughout.
Common interface for DDL datatypes.
Interface for unit classes of the object representation for DDL descriptions.
Utility class to compare media descriptions.
tDescriptionCheckFlags
Flags for the description based IsEqual methods.
@ DCF_VisualizationAttributes
Check attributes relevant for visualization (min/max/default/scale/offset)
@ DCF_Descriptions
Compares the description attributes as well.
@ DCF_Header
Compare the header as well.
@ DCF_Structs
Compare structs.
@ DCF_Enums
Compare enums.
@ DCF_NoEnumValuesCheck
Do not compare enum values.
@ DCF_SubSet
Checks whether the first description is a subset of the second.
@ DCF_Streams
Compare streams.
@ DCF_Comments
Compares the comment attributes as well.
@ DCF_Prefixes
Compare prefixes.
@ DCF_DataTypes
Compare datatypes.
@ DCF_NoRecursion
Do not compare sub-entities (elements, ref units, stream structs, ...)
@ DCF_Versions
Compares the version attributes as well.
@ DCF_All
Compare all elements (see above)
@ DCF_BaseUnits
Compare baseunits.
@ DCF_Units
Compare units.
@ DCF_Everything
Check everything.
static tResult IsBinaryEqual(const A_UTILS_NS::cString &strType1, const cDDLDescription *pDesc1, const A_UTILS_NS::cString &strType2, const cDDLDescription *pDesc2, bool bIsSubSet=true)
IsBinaryEqual checks whether two type descriptions describe the same binary data layout.
static tResult IsEqual(const cDDLDescription *pDesc1, const cDDLDescription *pDesc2, uint32_t ui32Flags=DCF_All|DCF_SubSet)
IsEqual checks whether two descriptions are equal.
static tResult IsEqual(const cDDLStream *pStream1, const cDDLStream *pStream2, uint32_t ui32Flags=ICF_Memory)
IsEqual checks whether two stream descriptions are equal.
static tResult IsEqual(const IDDLDataType *pType1, const IDDLDataType *pType2, uint32_t ui32Flags=ICF_Memory)
IsEqual checks whether two type (POD/enum/struct) descriptions are equal When this is true for a stru...
static tResult IsEqual(const cDDLRefUnit *pRefUnit1, const cDDLRefUnit *pRefUnit2, uint32_t ui32Flags=ICF_None)
IsEqual checks whether two reference units are equal.
static tResult IsEqualPrefix(const A_UTILS_NS::cString &strPrefix1, const A_UTILS_NS::cString &strDesc1, const A_UTILS_NS::cString &strPrefix2, const A_UTILS_NS::cString &strDesc2, uint32_t ui32Flags=ICF_None)
IsEqualPrefix checks whether two prefix descriptions are equal.
static tResult IsEqual(const IDDLUnit *pUnit1, const IDDLUnit *pUnit2, uint32_t ui32Flags=ICF_None)
IsEqual checks whether two unit descriptions are equal.
static tResult IsEqual(const cDDLExtDeclaration *pExt1, const cDDLExtDeclaration *pExt2, uint32_t ui32Flags=ICF_None)
IsEqual checks whether two external declarations are equal.
static tResult IsBinaryEqual(const A_UTILS_NS::cString &strType1, const A_UTILS_NS::cString &strDesc1, const A_UTILS_NS::cString &strType2, const A_UTILS_NS::cString &strDesc2, bool bIsSubSet=true)
IsBinaryEqual checks whether two type descriptions describe the same binary data layout.
static tResult IsEqualUnit(const A_UTILS_NS::cString &strUnit1, const A_UTILS_NS::cString &strDesc1, const A_UTILS_NS::cString &strUnit2, const A_UTILS_NS::cString &strDesc2, uint32_t ui32Flags=ICF_None)
IsEqualUnit checks whether two unit descriptions are equal.
static tResult IsEqualStream(const A_UTILS_NS::cString &strStream1, const A_UTILS_NS::cString &strDesc1, const A_UTILS_NS::cString &strStream2, const A_UTILS_NS::cString &strDesc2, uint32_t ui32Flags=ICF_Memory)
IsEqual checks whether two stream descriptions are equal.
static tResult IsEqual(const A_UTILS_NS::cString &strDesc1, const A_UTILS_NS::cString &strDesc2, uint32_t ui32Flags=DCF_All|DCF_SubSet)
IsEqual checks whether two descriptions are equal.
static tResult IsEqual(const cDDLPrefix *pPrefix1, const cDDLPrefix *pPrefix2, uint32_t ui32Flags=ICF_None)
IsEqual checks whether two prefix descriptions are equal.
static tResult IsEqual(const cDDLStreamStruct *pStreamStruct1, const cDDLStreamStruct *pStreamStruct2, uint32_t ui32Flags=ICF_None)
IsEqual checks whether two stream structs equal.
static tResult IsEqual(const cDDLElement *pElem1, const cDDLElement *pElem2, uint32_t ui32Flags=ICF_None)
IsEqual checks whether two struct elements are equal.
static tResult IsEqualType(const A_UTILS_NS::cString &strType1, const A_UTILS_NS::cString &strDesc1, const A_UTILS_NS::cString &strType2, const A_UTILS_NS::cString &strDesc2, uint32_t ui32Flags=ICF_Memory)
IsEqual checks whether two type (POD/enum/struct) descriptions are equal.
tItemCheckFlags
Flags for the item based IsEqual methods.
@ ICF_NoRecursion
Do not compare sub-entities (elements, ref units, stream structs, ...)
@ ICF_Names
Compare the names of structs and their elements.
@ ICF_Units
Compare the units as well.
@ ICF_NoEnumValuesCheck
Do not compare enum values.
@ ICF_VisualizationAttributes
Check attributes relevant for visualization (min/max/default/scale/offset)
@ ICF_Comments
Compare the comments as well.
@ ICF_Memory
Compare the in-memory representation.
@ ICF_SubSet
Check if the first item is a subset of the second.
@ ICF_Versions
Compare the versions of all elements and structs.
@ ICF_Serialized
Compare the serialized representation.
@ ICF_Descriptions
Compare the comments as well.
Main class representing a whole DDL description.
Representation of an element inside a struct in DDL a description.
Representation of an external declaration inside the header of a DDL description.
Representation of a prefix in a DDL description.
Decorator class for IDDLUnit objects to be used inside other cDDLUnit objects.
Representation of a stream inside a DDL description.
Decorator class for cDDLComplex to be used inside cDDLStream objects.
Namespace for the mainpage_pkg_ddl.