eRPC Generator (erpcgen)  Rev. 1.7.2
NXP Semiconductors
EnumMember.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__ENUMMEBER_H_
11 #define _EMBEDDED_RPC__ENUMMEBER_H_
12 
13 #include "Symbol.h"
14 #include <string>
15 
17 // Classes
19 
20 namespace erpcgen {
21 
25 class EnumMember : public Symbol
26 {
27 public:
36  EnumMember(const Token &tok, uint32_t value)
37  : Symbol(kEnumMemberSymbol, tok)
38  , m_value(value)
39  {
40  }
41 
49  EnumMember(const Token &tok)
50  : Symbol(kEnumMemberSymbol, tok)
51  , m_value(-1)
52  {
53  }
54 
60  void setValue(IntegerValue value) { m_value = value; }
61 
67  uint32_t getValue() const { return (uint32_t)m_value; }
68 
75  bool hasValue() const { return -1 != (int32_t)m_value.getValue(); }
76 
91  virtual std::string getDescription() const;
92 
93 protected:
95 };
96 
97 } // namespace erpcgen
98 
99 #endif // _EMBEDDED_RPC__ENUMMEBER_H_
virtual std::string getDescription() const
This function returns description about the enum member.
Definition: Type.cpp:380
uint32_t getValue() const
This function returns enum member value.
Definition: EnumMember.h:67
EnumMember(const Token &tok)
Constructor.
Definition: EnumMember.h:49
64-bit integer value.
Definition: Value.h:81
bool hasValue() const
This function return true if enum member has set value.
Definition: EnumMember.h:75
uint64_t getValue() const
This function returns value.
Definition: Value.h:140
Base class for all named declarations in the IDL.
Definition: Symbol.h:27
EnumMember(const Token &tok, uint32_t value)
Constructor.
Definition: EnumMember.h:36
Member of a enum.
Definition: EnumMember.h:25
Encapsulates all information about a token.
Definition: Token.h:60
void setValue(IntegerValue value)
This function set enum member value.
Definition: EnumMember.h:60
Definition: AstNode.h:25
IntegerValue m_value
Definition: EnumMember.h:94