eRPC Generator (erpcgen)  Rev. 1.8.0
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 
15 #include <string>
16 
18 // Classes
20 
21 namespace erpcgen {
22 
26 class EnumMember : public Symbol
27 {
28 public:
37  EnumMember(const Token &tok, uint32_t value)
38  : Symbol(kEnumMemberSymbol, tok)
39  , m_value(value)
40  {
41  }
42 
50  EnumMember(const Token &tok)
51  : Symbol(kEnumMemberSymbol, tok)
52  , m_value(-1)
53  {
54  }
55 
61  void setValue(IntegerValue value) { m_value = value; }
62 
68  uint32_t getValue() const { return (uint32_t)m_value; }
69 
76  bool hasValue() const { return -1 != (int32_t)m_value.getValue(); }
77 
92  virtual std::string getDescription() const;
93 
94 protected:
96 };
97 
98 } // namespace erpcgen
99 
100 #endif // _EMBEDDED_RPC__ENUMMEBER_H_
virtual std::string getDescription() const
This function returns description about the enum member.
Definition: Type.cpp:381
uint32_t getValue() const
This function returns enum member value.
Definition: EnumMember.h:68
EnumMember(const Token &tok)
Constructor.
Definition: EnumMember.h:50
64-bit integer value.
Definition: Value.h:87
bool hasValue() const
This function return true if enum member has set value.
Definition: EnumMember.h:76
uint64_t getValue() const
This function returns value.
Definition: Value.h:152
Base class for all named declarations in the IDL.
Definition: Symbol.h:28
EnumMember(const Token &tok, uint32_t value)
Constructor.
Definition: EnumMember.h:37
Member of a enum.
Definition: EnumMember.h:26
Encapsulates all information about a token.
Definition: Token.h:60
void setValue(IntegerValue value)
This function set enum member value.
Definition: EnumMember.h:61
Definition: AstNode.h:26
IntegerValue m_value
Definition: EnumMember.h:95