ADTF  3.18.2
ddlresolver.h
Go to the documentation of this file.
1 
7 #ifndef _DDL_RESOLVER_H_INCLUDED_
8 #define _DDL_RESOLVER_H_INCLUDED_
9 
11 
12 namespace adtf_ddl
13 {
19  class cDDLResolver : public IDDLVisitor
20  {
21  public:
25  PKG_ADTF_DDL_DEPRECATED("Use ddl::dd::DDString::toXMLString instead.")
27 
32  PKG_ADTF_DDL_DEPRECATED("Use ddl::dd::DDString::toXMLString instead.")
33  cDDLResolver(const A_UTILS_NS::cString& strTarget);
34 
35  tResult VisitDDL(cDDLDescription* poDescription);
36  tResult Visit(cDDLHeader* poHeader);
37  tResult Visit(cDDLDataType* poDataType);
38  tResult Visit(cDDLComplex* poComplex);
39  tResult Visit(cDDLStream* poStream);
41  tResult Visit(cDDLBaseunit* poBaseunit);
42  tResult Visit(cDDLExtDeclaration* poExtDeclaration);
43  tResult Visit(cDDLElement* poElement);
44  tResult Visit(cDDLPrefix* poPrefix);
45  tResult Visit(cDDLRefUnit* poRefUnit);
46  tResult Visit(cDDLStreamStruct* poStreamStruct);
48  tResult Visit(cDDLStreamMetaType* poStreamMetaType);
49  tResult Visit(cDDLProperty* poProperty);
50 
56 
64  void SetTargetName(const A_UTILS_NS::cString& strName);
65 
66  protected:
74 
75  protected: // members
78  double m_fVersion;
79  std::stack<A_UTILS_NS::cDOMElement*> m_stackParents;
81  A_UTILS_NS::cDOMElement* m_pUnits;
82  A_UTILS_NS::cDOMElement* m_pDataTypes;
83  A_UTILS_NS::cDOMElement* m_pEnums;
84  A_UTILS_NS::cDOMElement* m_pStructs;
85  A_UTILS_NS::cDOMElement* m_pStreams;
86  };
87 
88 } // namespace adtf_ddl
89 
90 #endif // _DDL_RESOLVER_H_INCLUDED_
Abstract base class/interface for Visitor design-pattern.
Representation of a base unit inside a DDL description.
Definition: ddlbaseunit.h:16
Representation for a complex datatype inside a DDL specification.
Definition: ddlcomplex.h:35
Representation for a (simple) data type inside a DDL description.
Definition: ddldatatype.h:19
Main class representing a whole DDL description.
Representation of an element inside a struct in DDL a description.
Definition: ddlelement.h:19
Representation for an enum inside a DDL description.
Definition: ddlenum.h:20
Representation of an external declaration inside the header of a DDL description.
Representation of the header of a DDL description.
Definition: ddlheader.h:28
Representation of a prefix in a DDL description.
Definition: ddlprefix.h:17
Representation of a stream inside a DDL description.
Definition: ddlproperty.h:16
Decorator class for IDDLUnit objects to be used inside other cDDLUnit objects.
Definition: ddlrefunit.h:18
Implementation of IDDLVisitor for resolving of a specified unit, datatype, struct,...
Definition: ddlresolver.h:20
void SetTargetName(const A_UTILS_NS::cString &strName)
Setter for the name of the target to resolve.
tResult CreateBase(cDDLDescription *poDescription)
Create the base items.
std::stack< A_UTILS_NS::cDOMElement * > m_stackParents
stack of parents
Definition: ddlresolver.h:79
std::set< A_UTILS_NS::cString > m_setResolvedTypes
set of the resolved types
Definition: ddlresolver.h:80
A_UTILS_NS::cDOMElement * m_pUnits
DOM-Element of type Unit.
Definition: ddlresolver.h:81
tResult VisitDDL(cDDLDescription *poDescription)
Visitor for a whole DDL description.
A_UTILS_NS::cDOMElement * m_pStructs
DOM-Element of type Struct.
Definition: ddlresolver.h:84
A_UTILS_NS::cDOMElement * m_pDataTypes
DOM-Element of type DataType.
Definition: ddlresolver.h:82
A_UTILS_NS::cString GetResolvedXML() const
Getter for a minimalistic DDL which only resolves the specified DDL object.
double m_fVersion
DDL version (needed for some conversions for compatibility with DDL1.0)
Definition: ddlresolver.h:78
A_UTILS_NS::cString m_strTarget
Name of the resolving target.
Definition: ddlresolver.h:77
A_UTILS_NS::cDOM m_oDOM
Internal DOM for XML handling.
Definition: ddlresolver.h:76
tResult Visit(cDDLHeader *poHeader)
Visitor for DDL header objects.
A_UTILS_NS::cDOMElement * m_pStreams
DOM-Element of type Stream.
Definition: ddlresolver.h:85
A_UTILS_NS::cDOMElement * m_pEnums
DOM-Element of type Enum.
Definition: ddlresolver.h:83
Representation of a stream inside a DDL description.
Definition: ddlstream.h:28
Representation of a stream inside a DDL description.
Decorator class for cDDLComplex to be used inside cDDLStream objects.
Representation object of a unit.
Definition: ddlunit.h:28
ADTF A_UTIL Namespace - Within adtf this is used as adtf::util or adtf_util.
Definition: d_ptr.h:11
string_base< cStackString > cString
cString implementation for a stack string which works on stack if string is lower than A_UTILS_DEFAUL...
Definition: string.h:2778
bool set(void *dest, std::size_t dest_size, std::uint8_t value, std::size_t bytes_to_set)
Portable safe memset.
Namespace for the mainpage_pkg_ddl.
std::string toXMLString(const DataDefinition &dd)
creates a XML from the DD datamodel.
Copyright © Audi Electronics Venture GmbH.
#define PKG_ADTF_DDL_DEPRECATED(_depr_message_)
Mark a function or variable as deprecated.