ADTF  3.18.2
ddlstream.h
Go to the documentation of this file.
1 
7 #ifndef _DDL_STREAM_H_INCLUDED_
8 #define _DDL_STREAM_H_INCLUDED_
9 
10 namespace adtf_ddl
11 {
12  class cDDLStreamStruct;
13  class cDDLComplex;
14 
18  typedef std::vector<cDDLStreamStruct*> tDDLStreamStructVec;
22  typedef tDDLStreamStructVec::iterator tDDLStreamStructIt;
23 
27  class cDDLStream : public cDDL
28  {
29  public:
34 
45  const A_UTILS_NS::cString& strDescription = A_UTILS_NS::cString::Empty,
47  int const nCreationLevel = 4);
48 
54 
58  virtual ~cDDLStream();
59 
60  tResult Accept(IDDLVisitor *poVisitor);
61 
62  bool IsInitialized() const;
63 
64  int GetCreationLevel() const;
65 
77  const A_UTILS_NS::cString& strDescription = A_UTILS_NS::cString::Empty,
79  int const nCreationLevel = 4);
80 
86 
92  void SetType(cDDLComplex* const pType);
93 
98  double GetDDLVersion() const;
99 
106  tResult SetDDLVersion(double const fLanguageVersion);
107 
108 
114 
120  void SetName(const A_UTILS_NS::cString& strName);
121 
126  const A_UTILS_NS::cString& GetName() const;
127 
133  void SetDescription(const A_UTILS_NS::cString& strDescription);
134 
140 
147 
153  void RefStructs(tDDLStreamStructVec vecStructs);
154 
160  void AddStruct(cDDLStreamStruct* poStruct);
161 
167  tResult RemoveStruct(const A_UTILS_NS::cString& strStructName);
168 
174 
180 
181  private:
182  A_UTILS_NS::cString m_strName;
183  cDDLComplex * m_poType;
184  A_UTILS_NS::cString m_strDescription;
185  tDDLStreamStructVec m_vecStructs;
186  bool m_bInitFlag;
187  int m_nLevel;
188  double m_fLanguageVersion;
189  };
190 
191 } // namespace adtf_ddl
192 
193 #endif // _DDL_STREAM_H_INCLUDED_
static const _myType Empty
Internally used empty string.
Definition: string.h:54
Abstract base class/interface for Visitor design-pattern.
Representation for a complex datatype inside a DDL specification.
Definition: ddlcomplex.h:35
Representation of a stream inside a DDL description.
Definition: ddlstream.h:28
const A_UTILS_NS::cString & GetName() const
Getter for the name.
void AddStruct(cDDLStreamStruct *poStruct)
Adder for a struct.
tResult Create(cDDLComplex *poType, const A_UTILS_NS::cString &strName=A_UTILS_NS::cString::Empty, const A_UTILS_NS::cString &strDescription=A_UTILS_NS::cString::Empty, tDDLStreamStructVec vecStructs=tDDLStreamStructVec(), int const nCreationLevel=4)
Creation method to fill the object with data.
void SetType(cDDLComplex *const pType)
Setter for the object of the complex data type.
A_UTILS_NS::cString GetDescription() const
Getter for the description.
double GetDDLVersion() const
Getter for the DDL version.
bool IsInitialized() const
Getter for the initialization flag.
tResult SetDDLVersion(double const fLanguageVersion)
Setter for the DDL version.
virtual ~cDDLStream()
DTOR.
cDDLComplex * GetTypeObject() const
Getter for the complex data-type object.
int GetCreationLevel() const
Getter for the creation level.
void CloneStructs(tDDLStreamStructVec vecStructs)
Setter for the contained structs.
cDDLStream(cDDLComplex *poType, const A_UTILS_NS::cString &strName=A_UTILS_NS::cString::Empty, const A_UTILS_NS::cString &strDescription=A_UTILS_NS::cString::Empty, tDDLStreamStructVec vecStructs=tDDLStreamStructVec(), int const nCreationLevel=4)
CTOR.
A_UTILS_NS::cString GetType() const
Getter for the name of the complex data type.
tDDLStreamStructVec & GetStructs()
Getter for the contained structs.
tResult RemoveStruct(const A_UTILS_NS::cString &strStructName)
removal for a struct item.
void SetDescription(const A_UTILS_NS::cString &strDescription)
Setter for the description.
tResult Accept(IDDLVisitor *poVisitor)
Acceptance method for Visitor design-pattern.
void SetName(const A_UTILS_NS::cString &strName)
Setter for the name.
const tDDLStreamStructVec & GetStructs() const
Getter for the contained structs.
cDDLStream()
Default CTOR.
void RefStructs(tDDLStreamStructVec vecStructs)
Setter for the contained structs.
cDDLStream(cDDLStream &oStream)
Copy CTOR.
Decorator class for cDDLComplex to be used inside cDDLStream objects.
Namespace for the mainpage_pkg_ddl.
std::vector< cDDLStreamStruct * > tDDLStreamStructVec
Container type of cDDLStreamStruct objects.
Definition: ddlstream.h:13
tDDLStreamStructVec::iterator tDDLStreamStructIt
Iterator type for tDDLStreamStructVec.
Definition: ddlstream.h:22