eRPC Generator (erpcgen)  Rev. 1.7.2
NXP Semiconductors
FunctionType.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__FUNCTION_TYPE_H_
11 #define _EMBEDDED_RPC__FUNCTION_TYPE_H_
12 
13 #include "DataType.h"
14 #include "Function.h"
15 #include "StructType.h"
16 #include "Symbol.h"
17 #include <string>
18 
20 // Classes
22 
23 namespace erpcgen {
24 
30 class FunctionType : public FunctionBase, public DataType
31 {
32 public:
33  typedef std::vector<Function *> c_function_list_t;
42  FunctionType(const Token &tok)
43  : FunctionBase()
44  , DataType(tok, DataType::kFunctionType, Symbol::kFunctionTypeSymbol)
45  , m_callbackFuns()
46  {
47  }
48 
54  virtual bool isFunction() const { return true; }
55 
70  virtual std::string getDescription() const;
71 
75  c_function_list_t &getCallbackFuns() { return m_callbackFuns; }
76 
77 protected:
78  c_function_list_t m_callbackFuns;
79 };
80 
81 } // namespace erpcgen
82 
83 #endif // _EMBEDDED_RPC__FUNCTION_TYPE_H_
Function data type.
Definition: FunctionType.h:30
virtual bool isFunction() const
This function return "true" value as default for identify function type.
Definition: FunctionType.h:54
Base class for all named declarations in the IDL.
Definition: Symbol.h:27
c_function_list_t & getCallbackFuns()
Returns list of callback functions.
Definition: FunctionType.h:75
Base class for data types.
Definition: DataType.h:25
Encapsulates all information about a token.
Definition: Token.h:60
Function base declaration.
Definition: Function.h:29
c_function_list_t m_callbackFuns
Definition: FunctionType.h:78
std::vector< Function * > c_function_list_t
Definition: FunctionType.h:33
virtual std::string getDescription() const
This function returns description about the interface function.
Definition: Type.cpp:495
Definition: AstNode.h:25
FunctionType(const Token &tok)
Constructor.
Definition: FunctionType.h:42