eRPC Generator (erpcgen)  Rev. 1.7.2
NXP Semiconductors
StructMember.h
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.h"
14 #include "Symbol.h"
15 #include <string>
16 
18 // Classes
20 
21 namespace erpcgen {
22 
26 enum _param_direction
27 {
28  kInDirection,
29  kOutDirection,
30  kInoutDirection,
31  kReturn
32 };
33 
37 class StructMember : public Symbol
38 {
39 public:
48  StructMember(const std::string &name, DataType *dataType)
49  : Symbol(kStructMemberSymbol, name)
50  , m_dataType(dataType)
52  , m_containList()
53  , m_containString()
54  , m_byref(false)
55  {
56  }
57 
66  StructMember(const Token &tok, DataType *dataType)
67  : Symbol(kStructMemberSymbol, tok)
68  , m_dataType(dataType)
70  , m_containList()
71  , m_containString()
72  , m_byref(false)
73  {
74  }
75 
82 
88  void setDataType(DataType *dataType) { m_dataType = dataType; }
89 
104  virtual std::string getDescription() const;
105 
113  void setDirection(_param_direction paramDirection) { m_paramDirection = paramDirection; }
114 
122  _param_direction getDirection() const { return m_paramDirection; }
123 
129  void setContainList(bool containList) { m_containList = containList; }
130 
136  bool getContainList() { return m_containList; }
137 
143  void setContainString(bool containString) { m_containString = containString; }
144 
151 
157  bool isByref() { return m_byref; }
158 
164  void setByref(bool byref) { m_byref = byref; }
165 
166 protected:
168  _param_direction m_paramDirection;
171  bool m_byref;
172 };
173 
174 } // namespace erpcgen
175 
176 #endif // _EMBEDDED_RPC__STRUCTMEMBER_H_
Member of a struct.
Definition: StructMember.h:37
_param_direction m_paramDirection
Definition: StructMember.h:168
StructMember(const std::string &name, DataType *dataType)
Constructor.
Definition: StructMember.h:48
bool m_containList
Definition: StructMember.h:169
StructMember(const Token &tok, DataType *dataType)
Constructor.
Definition: StructMember.h:66
Base class for all named declarations in the IDL.
Definition: Symbol.h:27
void setDataType(DataType *dataType)
This function will set element data type.
Definition: StructMember.h:88
DataType * getDataType()
This function returns pointer to element data type.
Definition: StructMember.h:81
bool m_byref
Definition: StructMember.h:171
bool isByref()
This function returns information if parameter is byref.
Definition: StructMember.h:157
bool m_containString
Definition: StructMember.h:170
void setContainString(bool containString)
This function set information about if member contains string data type.
Definition: StructMember.h:143
void setDirection(_param_direction paramDirection)
This function set direction type for parameter.
Definition: StructMember.h:113
Base class for data types.
Definition: DataType.h:25
Encapsulates all information about a token.
Definition: Token.h:60
void setByref(bool byref)
This function sets byref flag to the paramter.
Definition: StructMember.h:164
virtual std::string getDescription() const
This function returns description about the struct member.
Definition: Type.cpp:340
DataType * m_dataType
Definition: StructMember.h:167
bool getContainList()
This function set information about if member contains list data type.
Definition: StructMember.h:136
bool getContainString()
This function set information about if member contains string data type.
Definition: StructMember.h:150
_param_direction getDirection() const
This function returns routing for parameter.
Definition: StructMember.h:122
void setContainList(bool containList)
This function set information about if member contains list data type.
Definition: StructMember.h:129
Definition: AstNode.h:25