F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CmdResponsePortAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title CmdResponsePortAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for CmdResponse port
5 // ======================================================================
6 
7 #ifndef Fw_CmdResponsePortAc_HPP
8 #define Fw_CmdResponsePortAc_HPP
9 
10 #include <cstdio>
11 #include <cstring>
12 
15 #include "Fw/FPrimeBasicTypes.hpp"
19 #include "Fw/Types/String.hpp"
21 
22 namespace Fw {
23 
27  public Fw::InputPortBase
28  {
29 
30  public:
31 
32  // ----------------------------------------------------------------------
33  // Constants
34  // ----------------------------------------------------------------------
35 
36  enum {
39  sizeof(FwOpcodeType) +
40  sizeof(U32) +
42  };
43 
44  public:
45 
46  // ----------------------------------------------------------------------
47  // Types
48  // ----------------------------------------------------------------------
49 
51  typedef void (*CompFuncPtr)(
52  Fw::PassiveComponentBase* callComp,
53  FwIndexType portNum,
54  FwOpcodeType opCode,
55  U32 cmdSeq,
56  const Fw::CmdResponse& response
57  );
58 
59  public:
60 
61  // ----------------------------------------------------------------------
62  // Input Port Member functions
63  // ----------------------------------------------------------------------
64 
67 
69  void init();
70 
72  void addCallComp(
73  Fw::PassiveComponentBase* callComp,
74  CompFuncPtr funcPtr
75  );
76 
78  void invoke(
79  FwOpcodeType opCode,
80  U32 cmdSeq,
81  const Fw::CmdResponse& response
82  );
83 
84  private:
85 
86 #if FW_PORT_SERIALIZATION == 1
87 
89  Fw::SerializeStatus invokeSerial(Fw::LinearBufferBase& _buffer);
90 
91 #endif
92 
93  private:
94 
95  // ----------------------------------------------------------------------
96  // Member variables
97  // ----------------------------------------------------------------------
98 
100  CompFuncPtr m_func;
101 
102  };
103 
107  public Fw::OutputPortBase
108  {
109 
110  public:
111 
112  // ----------------------------------------------------------------------
113  // Output Port Member functions
114  // ----------------------------------------------------------------------
115 
118 
120  void init();
121 
123  void addCallPort(
124  InputCmdResponsePort* callPort
125  );
126 
128  void invoke(
129  FwOpcodeType opCode,
130  U32 cmdSeq,
131  const Fw::CmdResponse& response
132  ) const;
133 
134  private:
135 
136  // ----------------------------------------------------------------------
137  // Member variables
138  // ----------------------------------------------------------------------
139 
141  InputCmdResponsePort* m_port;
142 
143  };
144 
145 }
146 
147 #endif
FwIdType FwOpcodeType
The type of a command opcode.
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
The port callback function type.
The size of the serial representation.
Enum representing a command response.
InputCmdResponsePort()
Constructor.
The size of the serial representations of the port arguments.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke a port interface.
SerializeStatus
forward declaration for string
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
void init()
Initialization function.
PlatformIndexType FwIndexType
void init()
Initialization function.
Implementation of malloc based allocator.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.