eRPC Generator (erpcgen)  Rev. 1.11.0
NXP Semiconductors
StructMember.hpp
1 /*
2  * Copyright (c) 2014, Freescale Semiconductor, Inc.
3  * Copyright 2016 NXP
4  * All rights reserved.
5  *
6  *
7  * SPDX-License-Identifier: BSD-3-Clause
8  */
9 
10 #ifndef _EMBEDDED_RPC__STRUCTMEMBER_H_
11 #define _EMBEDDED_RPC__STRUCTMEMBER_H_
12 
13 #include "DataType.hpp"
14 #include "Symbol.hpp"
15 
16 #include <string>
17 
19 // Classes
21 
22 namespace erpcgen {
23 
27 enum _param_direction
28 {
29  kInDirection,
30  kOutDirection,
31  kInoutDirection,
32  kReturn
33 };
34 
38 class StructMember : public Symbol
39 {
40 public:
49  StructMember(const std::string &name, DataType *dataType)
50  : Symbol(kStructMemberSymbol, name)
51  , m_dataType(dataType)
53  , m_containList()
54  , m_containString()
55  , m_byref(false)
56  {
57  }
58 
67  StructMember(const Token &tok, DataType *dataType)
68  : Symbol(kStructMemberSymbol, tok)
69  , m_dataType(dataType)
71  , m_containList()
72  , m_containString()
73  , m_byref(false)
74  {
75  }
76 
83 
89  void setDataType(DataType *dataType) { m_dataType = dataType; }
90 
105  virtual std::string getDescription() const override;
106 
114  void setDirection(_param_direction paramDirection) { m_paramDirection = paramDirection; }
115 
123  _param_direction getDirection() const { return m_paramDirection; }
124 
130  void setContainList(bool containList) { m_containList = containList; }
131 
137  bool getContainList() { return m_containList; }
138 
144  void setContainString(bool containString) { m_containString = containString; }
145 
152 
158  bool isByref() { return m_byref; }
159 
165  void setByref(bool byref) { m_byref = byref; }
166 
167 protected:
169  _param_direction m_paramDirection;
172  bool m_byref;
173 };
174 
175 } // namespace erpcgen
176 
177 #endif // _EMBEDDED_RPC__STRUCTMEMBER_H_
Member of a struct.
Definition: StructMember.hpp:38
_param_direction m_paramDirection
Definition: StructMember.hpp:169
StructMember(const std::string &name, DataType *dataType)
Constructor.
Definition: StructMember.hpp:49
bool m_containList
Definition: StructMember.hpp:170
StructMember(const Token &tok, DataType *dataType)
Constructor.
Definition: StructMember.hpp:67
Base class for all named declarations in the IDL.
Definition: Symbol.hpp:28
void setDataType(DataType *dataType)
This function will set element data type.
Definition: StructMember.hpp:89
DataType * getDataType()
This function returns pointer to element data type.
Definition: StructMember.hpp:82
bool m_byref
Definition: StructMember.hpp:172
bool isByref()
This function returns information if parameter is byref.
Definition: StructMember.hpp:158
bool m_containString
Definition: StructMember.hpp:171
void setContainString(bool containString)
This function set information about if member contains string data type.
Definition: StructMember.hpp:144
void setDirection(_param_direction paramDirection)
This function set direction type for parameter.
Definition: StructMember.hpp:114
Base class for data types.
Definition: DataType.hpp:26
Encapsulates all information about a token.
Definition: Token.hpp:60
void setByref(bool byref)
This function sets byref flag to the paramter.
Definition: StructMember.hpp:165
DataType * m_dataType
Definition: StructMember.hpp:168
bool getContainList()
This function set information about if member contains list data type.
Definition: StructMember.hpp:137
bool getContainString()
This function set information about if member contains string data type.
Definition: StructMember.hpp:151
_param_direction getDirection() const
This function returns routing for parameter.
Definition: StructMember.hpp:123
void setContainList(bool containList)
This function set information about if member contains list data type.
Definition: StructMember.hpp:130
virtual std::string getDescription() const override
This function returns description about the struct member.
Definition: Type.cpp:342
Definition: AstNode.hpp:26