ADTF  3.18.2
ddlstreammetatype.h
Go to the documentation of this file.
1 
7 #ifndef _DDL_STREAM_META_TYPE_H_INCLUDED_
8 #define _DDL_STREAM_META_TYPE_H_INCLUDED_
9 
10 namespace adtf_ddl
11 {
12  typedef std::vector<cDDLProperty*> tDDLPropertyVec;
13 
17  class cDDLStreamMetaType : public cDDL
18  {
19  public:
23  cDDLStreamMetaType() = default;
24 
33  const A_UTILS_NS::cString& strVersion,
34  tDDLPropertyVec&& vecProperties = tDDLPropertyVec(),
35  const cDDLStreamMetaType* pParent = nullptr);
36 
37 
38  cDDLStreamMetaType(const cDDLStreamMetaType& oStreamMetaType);
39  cDDLStreamMetaType(cDDLStreamMetaType&& oStreamMetaType) = default;
40  cDDLStreamMetaType& operator=(cDDLStreamMetaType&& oStreamMetaType) = default;
41 
42  virtual ~cDDLStreamMetaType();
43 
44  tResult Accept(IDDLVisitor *poVisitor);
45 
46  bool IsInitialized() const;
47 
48  int GetCreationLevel() const;
49 
54  const A_UTILS_NS::cString& GetName() const;
55 
61  void SetName(const A_UTILS_NS::cString& strName);
62 
68 
74  void CloneProperties(const tDDLPropertyVec& vecStructs);
75 
80  tDDLPropertyVec& GetProperties();
81 
86  const tDDLPropertyVec& GetProperties() const;
87 
93 
99 
100  private:
101  A_UTILS_NS::cString m_strName;
102  A_UTILS_NS::cString m_strVersion;
103  tDDLPropertyVec m_vecProperties;
104  const cDDLStreamMetaType* m_pParent = nullptr;
105  bool m_bInitFlag = false;
106  };
107 
108 } // namespace adtf_ddl
109 
110 #endif
Abstract base class/interface for Visitor design-pattern.
Representation of a stream inside a DDL description.
const A_UTILS_NS::cString & GetName() const
Getter for the name.
tDDLPropertyVec & GetProperties()
Getter for the contained properties.
cDDLStreamMetaType()=default
Default CTOR.
const tDDLPropertyVec & GetProperties() const
Getter for the contained properties.
const A_UTILS_NS::cString & GetParent() const
Getter for the name of the parent.
bool IsInitialized() const
Getter for the initialization flag.
int GetCreationLevel() const
Getter for the creation level.
const A_UTILS_NS::cString & GetVersion() const
Getter for the version.
cDDLStreamMetaType(const A_UTILS_NS::cString &strName, const A_UTILS_NS::cString &strVersion, tDDLPropertyVec &&vecProperties=tDDLPropertyVec(), const cDDLStreamMetaType *pParent=nullptr)
CTOR.
void CloneProperties(const tDDLPropertyVec &vecStructs)
Setter for the contained structs.
tResult Accept(IDDLVisitor *poVisitor)
Acceptance method for Visitor design-pattern.
void SetName(const A_UTILS_NS::cString &strName)
Setter for the name.
const cDDLStreamMetaType * GetParentObject() const
Pointer to the parent stream meta type.
Namespace for the mainpage_pkg_ddl.