ADTF  3.18.2
cDDLResolver

Implementation of IDDLVisitor for resolving of a specified unit, datatype, struct, or stream out of an existing DDL hierarchy. More...

Inheritance diagram for cDDLResolver:
[legend]

Public Member Functions

 cDDLResolver ()
 Default CTOR.
 
 cDDLResolver (const A_UTILS_NS::cString &strTarget)
 CTOR with target name. More...
 
tResult VisitDDL (cDDLDescription *poDescription)
 Visitor for a whole DDL description. More...
 
tResult Visit (cDDLHeader *poHeader)
 Visitor for DDL header objects. More...
 
tResult Visit (cDDLDataType *poDataType)
 Visitor for DDL datatype objects. More...
 
tResult Visit (cDDLComplex *poComplex)
 Visitor for DDL struct objects. More...
 
tResult Visit (cDDLStream *poStream)
 Visitor for DDL stream objects. More...
 
tResult Visit (cDDLUnit *poUnit)
 Visitor for DDL unit objects. More...
 
tResult Visit (cDDLBaseunit *poBaseunit)
 Visitor for DDL baseunit objects. More...
 
tResult Visit (cDDLExtDeclaration *poExtDeclaration)
 Visitor for external DDL declaration objects. More...
 
tResult Visit (cDDLElement *poElement)
 Visitor for DDL element objects. More...
 
tResult Visit (cDDLPrefix *poPrefix)
 Visitor for DDL prefix objects. More...
 
tResult Visit (cDDLRefUnit *poRefUnit)
 Visitor for DDL reference unit objects. More...
 
tResult Visit (cDDLStreamStruct *poStreamStruct)
 Visitor for DDL streamstruct objects. More...
 
tResult Visit (cDDLEnum *poEnum)
 Visitor for DDL enum objects. More...
 
tResult Visit (cDDLStreamMetaType *poStreamMetaType)
 Visitor for DDL stream meta type objects. More...
 
tResult Visit (cDDLProperty *poProperty)
 Visitor for DDL property objects. More...
 
A_UTILS_NS::cString GetResolvedXML () const
 Getter for a minimalistic DDL which only resolves the specified DDL object. More...
 
void SetTargetName (const A_UTILS_NS::cString &strName)
 Setter for the name of the target to resolve. More...
 
- Public Member Functions inherited from IDDLVisitor
virtual ~IDDLVisitor ()
 DTOR.
 

Protected Member Functions

tResult CreateBase (cDDLDescription *poDescription)
 Create the base items. More...
 

Protected Attributes

A_UTILS_NS::cDOM m_oDOM
 Internal DOM for XML handling.
 
A_UTILS_NS::cString m_strTarget
 Name of the resolving target.
 
double m_fVersion
 DDL version (needed for some conversions for compatibility with DDL1.0)
 
std::stack< A_UTILS_NS::cDOMElement * > m_stackParents
 stack of parents
 
std::set< A_UTILS_NS::cStringm_setResolvedTypes
 set of the resolved types
 
A_UTILS_NS::cDOMElementm_pUnits
 DOM-Element of type Unit.
 
A_UTILS_NS::cDOMElementm_pDataTypes
 DOM-Element of type DataType.
 
A_UTILS_NS::cDOMElementm_pEnums
 DOM-Element of type Enum.
 
A_UTILS_NS::cDOMElementm_pStructs
 DOM-Element of type Struct.
 
A_UTILS_NS::cDOMElementm_pStreams
 DOM-Element of type Stream.
 

Detailed Description

Implementation of IDDLVisitor for resolving of a specified unit, datatype, struct, or stream out of an existing DDL hierarchy.

So a minimal DDL description for the specified target is built.

Definition at line 19 of file ddlresolver.h.

Constructor & Destructor Documentation

◆ cDDLResolver()

cDDLResolver ( const A_UTILS_NS::cString strTarget)

CTOR with target name.

Parameters
[in]strTarget- Name of the target to resolve

Member Function Documentation

◆ CreateBase()

tResult CreateBase ( cDDLDescription poDescription)
protected

Create the base items.

Parameters
[in]poDescriptionpointer to the DDL Description
Returns
Standard result code.

◆ GetResolvedXML()

A_UTILS_NS::cString GetResolvedXML ( ) const

Getter for a minimalistic DDL which only resolves the specified DDL object.

Returns
the XML string containing the minimalistic DDL description

◆ SetTargetName()

void SetTargetName ( const A_UTILS_NS::cString strName)

Setter for the name of the target to resolve.

Parameters
[in]strName- Name of the DDL object to resolve
Remarks
Only targets of the types "unit", "datatype", "struct", and "stream" are supported.
Returns
void

◆ Visit() [1/14]

tResult Visit ( cDDLBaseunit poBaseunit)
virtual

Visitor for DDL baseunit objects.

Parameters
[in]poBaseunit- Pointer to the baseunit object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [2/14]

tResult Visit ( cDDLComplex poStruct)
virtual

Visitor for DDL struct objects.

Parameters
[in]poStruct- Pointer to the struct object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [3/14]

tResult Visit ( cDDLDataType poDataType)
virtual

Visitor for DDL datatype objects.

Parameters
[in]poDataType- Pointer to the datatype object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.
ERR_NOT_SUPPORTEDData type detected which is not supported.

Implements IDDLVisitor.

◆ Visit() [4/14]

tResult Visit ( cDDLElement poElement)
virtual

Visitor for DDL element objects.

Parameters
[in]poElement- Pointer to the element object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [5/14]

tResult Visit ( cDDLEnum poEnum)
virtual

Visitor for DDL enum objects.

Parameters
[in]poEnum- Pointer to the enum object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [6/14]

tResult Visit ( cDDLExtDeclaration poExtDeclaration)
virtual

Visitor for external DDL declaration objects.

Parameters
[in]poExtDeclaration- Pointer to the extdeclaration object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [7/14]

tResult Visit ( cDDLHeader poHeader)
virtual

Visitor for DDL header objects.

Parameters
[in]poHeader- Pointer to the header object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [8/14]

tResult Visit ( cDDLPrefix poPrefix)
virtual

Visitor for DDL prefix objects.

Parameters
[in]poPrefix- Pointer to the prefix object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [9/14]

tResult Visit ( cDDLProperty poProperty)
virtual

Visitor for DDL property objects.

Parameters
[in]poProperty- Pointer to the object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [10/14]

tResult Visit ( cDDLRefUnit poRefUnit)
virtual

Visitor for DDL reference unit objects.

Parameters
[in]poRefUnit- Pointer to the refunit object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [11/14]

tResult Visit ( cDDLStream poStream)
virtual

Visitor for DDL stream objects.

Parameters
[in]poStream- Pointer to the stream object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [12/14]

tResult Visit ( cDDLStreamMetaType poStreamMetaType)
virtual

Visitor for DDL stream meta type objects.

Parameters
[in]poStreamMetaType- Pointer to the object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [13/14]

tResult Visit ( cDDLStreamStruct poStreamStruct)
virtual

Visitor for DDL streamstruct objects.

Parameters
[in]poStreamStruct- Pointer to the streamstruct object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ Visit() [14/14]

tResult Visit ( cDDLUnit poUnit)
virtual

Visitor for DDL unit objects.

Parameters
[in]poUnit- Pointer to the unit object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.

Implements IDDLVisitor.

◆ VisitDDL()

tResult VisitDDL ( cDDLDescription poDescription)
virtual

Visitor for a whole DDL description.

Parameters
[in]poDescription- Pointer to the description object
Return values
ERR_POINTERNull-pointer committed
ERR_NOT_FOUNDRequired node not found.
ERR_NOT_INITIALIZEDNot yet initialized

Implements IDDLVisitor.