ADTF
|
Utility class to compare media descriptions. More...
Public Types | |
enum | tDescriptionCheckFlags { DCF_Everything = 0x00 , DCF_DataTypes = 0x01 , DCF_Units = 0x02 , DCF_Enums = 0x04 , DCF_Structs = 0x08 , DCF_Streams = 0x10 , DCF_BaseUnits = 0x20 , DCF_Prefixes = 0x40 , DCF_All = 0xFF , DCF_SubSet = 0x0100 , DCF_Versions = 0x0200 , DCF_Comments = 0x0400 , DCF_Descriptions = 0x0800 , DCF_Header = 0x1000 , DCF_VisualizationAttributes = 0x2000 , DCF_NoEnumValuesCheck = 0x010000 , DCF_NoRecursion = 0x020000 } |
Flags for the description based IsEqual methods. More... | |
enum | tItemCheckFlags { ICF_None = 0x00 , ICF_Memory = 0x01 , ICF_Serialized = 0x02 , ICF_Names = 0x04 , ICF_Versions = 0x08 , ICF_Units = 0x10 , ICF_Comments = 0x20 , ICF_Descriptions = 0x40 , ICF_SubSet = 0x80 , ICF_VisualizationAttributes = 0x0100 , ICF_NoEnumValuesCheck = 0x0200 , ICF_NoRecursion = 0x0400 } |
Flags for the item based IsEqual methods. More... | |
Static Public Member Functions | |
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. More... | |
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. More... | |
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. More... | |
static tResult | IsEqual (const cDDLPrefix *pPrefix1, const cDDLPrefix *pPrefix2, uint32_t ui32Flags=ICF_None) |
IsEqual checks whether two prefix descriptions are equal. More... | |
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. More... | |
static tResult | IsEqual (const IDDLUnit *pUnit1, const IDDLUnit *pUnit2, uint32_t ui32Flags=ICF_None) |
IsEqual checks whether two unit descriptions are equal. More... | |
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. More... | |
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 struct then it also implies IsBinaryEqual is true. More... | |
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. More... | |
static tResult | IsEqual (const cDDLStream *pStream1, const cDDLStream *pStream2, uint32_t ui32Flags=ICF_Memory) |
IsEqual checks whether two stream descriptions are equal. More... | |
static tResult | IsEqual (const cDDLExtDeclaration *pExt1, const cDDLExtDeclaration *pExt2, uint32_t ui32Flags=ICF_None) |
IsEqual checks whether two external declarations are equal. More... | |
static tResult | IsEqual (const cDDLRefUnit *pRefUnit1, const cDDLRefUnit *pRefUnit2, uint32_t ui32Flags=ICF_None) |
IsEqual checks whether two reference units are equal. More... | |
static tResult | IsEqual (const cDDLElement *pElem1, const cDDLElement *pElem2, uint32_t ui32Flags=ICF_None) |
IsEqual checks whether two struct elements are equal. More... | |
static tResult | IsEqual (const cDDLStreamStruct *pStreamStruct1, const cDDLStreamStruct *pStreamStruct2, uint32_t ui32Flags=ICF_None) |
IsEqual checks whether two stream structs equal. More... | |
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. More... | |
static tResult | IsEqual (const cDDLDescription *pDesc1, const cDDLDescription *pDesc2, uint32_t ui32Flags=DCF_All|DCF_SubSet) |
IsEqual checks whether two descriptions are equal. More... | |
Utility class to compare media descriptions.
Definition at line 16 of file ddlcompare.h.
Flags for the description based IsEqual methods.
Definition at line 22 of file ddlcompare.h.
enum tItemCheckFlags |
Flags for the item based IsEqual methods.
Definition at line 46 of file ddlcompare.h.
|
static |
IsBinaryEqual checks whether two type descriptions describe the same binary data layout.
[in] | strType1 | The name of the first type. |
[in] | strDesc1 | The description that has strType1. |
[in] | strType2 | The name of the second type. |
[in] | strDesc2 | The description that has strType2. |
[in] | bIsSubSet | If true then the method checks if the first type is a subset of the second (starting at offset 0, possibly with smaller size). |
ERR_NOERROR | The description describe the same layout |
ERR_FAILED | The description do NOT describe the same layout |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsBinaryEqual checks whether two type descriptions describe the same binary data layout.
[in] | strType1 | The name of the first type. |
[in] | pDesc1 | The description that has strType1. |
[in] | strType2 | The name of the second type. |
[in] | pDesc2 | The description that has strType2. |
[in] | bIsSubSet | If true then the method checks if the first type is a subset of the second (starting at offset 0, possibly with smaller size). |
ERR_NOERROR | The description describe the same layout |
ERR_FAILED | The description do NOT describe the same layout |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two descriptions are equal.
[in] | strDesc1 | The first description. |
[in] | strDesc2 | The second description. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tDescriptionCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two descriptions are equal.
[in] | pDesc1 | The first description. |
[in] | pDesc2 | The second description. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tDescriptionCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two struct elements are equal.
Note that in case of dynamic elements only the name of the array size specifier can be checked. Compare the whole struct if you need a more tourough comparison.
[in] | pElem1 | The first element. |
[in] | pElem2 | The second element. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two external declarations are equal.
[in] | pExt1 | The first declaration. |
[in] | pExt2 | The second declaration. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two prefix descriptions are equal.
[in] | pPrefix1 | The first prefix. |
[in] | pPrefix2 | The second prefix. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two reference units are equal.
[in] | pRefUnit1 | The first unit. |
[in] | pRefUnit2 | The second unit. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two stream descriptions are equal.
[in] | pStream1 | The first stream. |
[in] | pStream2 | The second stream. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two stream structs equal.
[in] | pStreamStruct1 | The first struct. |
[in] | pStreamStruct2 | The second struct. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two type (POD/enum/struct) descriptions are equal When this is true for a struct then it also implies IsBinaryEqual is true.
[in] | pType1 | The first type. |
[in] | pType2 | The second type. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two unit descriptions are equal.
[in] | pUnit1 | The first unit. |
[in] | pUnit2 | The second unit. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqualPrefix checks whether two prefix descriptions are equal.
[in] | strPrefix1 | The name of the first prefix. |
[in] | strDesc1 | The description that has strPrefix1. |
[in] | strPrefix2 | The name of the second prefix. |
[in] | strDesc2 | The description that has strPrefix2. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two stream descriptions are equal.
[in] | strStream1 | The name of the first stream. |
[in] | strDesc1 | The description that has strStream1. |
[in] | strStream2 | The name of the second stream. |
[in] | strDesc2 | The description that has strStream2. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqual checks whether two type (POD/enum/struct) descriptions are equal.
When this is true for a struct then it also implies IsBinaryEqual is true
[in] | strType1 | The name of the first type. |
[in] | strDesc1 | The description that has strType1. |
[in] | strType2 | The name of the second type. |
[in] | strDesc2 | The description that has strType2. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |
|
static |
IsEqualUnit checks whether two unit descriptions are equal.
[in] | strUnit1 | The name of the first type. |
[in] | strDesc1 | The description that has strUnit1. |
[in] | strUnit2 | The name of the second type. |
[in] | strDesc2 | The description that has strUnit2. |
[in] | ui32Flags | Flags that specifiy what should be checked, see tItemCheckFlags. |
ERR_NOERROR | The descriptions are equal. |
ERR_FAILED | The description are not equal. |
Standard | result (other DDL parsing errors etc.) |