F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
CmdSplitterComponentAc.hpp
Go to the documentation of this file.
1// ======================================================================
2// \title CmdSplitterComponentAc.hpp
3// \author Generated by fpp-to-cpp
4// \brief hpp file for CmdSplitter component base class
5// ======================================================================
6
7#ifndef Svc_CmdSplitterComponentAc_HPP
8#define Svc_CmdSplitterComponentAc_HPP
9
10#include "FpConfig.hpp"
12#include "Fw/Com/ComPortAc.hpp"
16
17namespace Svc {
18
25 {
26
27 // ----------------------------------------------------------------------
28 // Friend classes
29 // ----------------------------------------------------------------------
30
33
34 PROTECTED:
35
36 // ----------------------------------------------------------------------
37 // Constants
38 // ----------------------------------------------------------------------
39
41 enum {
44 };
45
47 enum {
51 };
52
53 public:
54
55 // ----------------------------------------------------------------------
56 // Component initialization
57 // ----------------------------------------------------------------------
58
60 void init(
61 FwEnumStoreType instance = 0
62 );
63
64 public:
65
66 // ----------------------------------------------------------------------
67 // Getters for typed input ports
68 // ----------------------------------------------------------------------
69
74 FwIndexType portNum
75 );
76
81 FwIndexType portNum
82 );
83
84 public:
85
86 // ----------------------------------------------------------------------
87 // Connect typed input ports to typed output ports
88 // ----------------------------------------------------------------------
89
92 FwIndexType portNum,
93 Fw::InputComPort* port
94 );
95
98 FwIndexType portNum,
99 Fw::InputComPort* port
100 );
101
104 FwIndexType portNum,
106 );
107
108#if FW_PORT_SERIALIZATION
109
110 public:
111
112 // ----------------------------------------------------------------------
113 // Connect serial input ports to typed output ports
114 // ----------------------------------------------------------------------
115
118 FwIndexType portNum,
119 Fw::InputSerializePort* port
120 );
121
124 FwIndexType portNum,
125 Fw::InputSerializePort* port
126 );
127
130 FwIndexType portNum,
131 Fw::InputSerializePort* port
132 );
133
134#endif
135
136 PROTECTED:
137
138 // ----------------------------------------------------------------------
139 // Component construction and destruction
140 // ----------------------------------------------------------------------
141
144 const char* compName = ""
145 );
146
149
150 PROTECTED:
151
152 // ----------------------------------------------------------------------
153 // Getters for numbers of typed input ports
154 // ----------------------------------------------------------------------
155
160
165
166 PROTECTED:
167
168 // ----------------------------------------------------------------------
169 // Getters for numbers of typed output ports
170 // ----------------------------------------------------------------------
171
176
181
186
187 PROTECTED:
188
189 // ----------------------------------------------------------------------
190 // Connection status queries for typed output ports
191 // ----------------------------------------------------------------------
192
197 FwIndexType portNum
198 );
199
204 FwIndexType portNum
205 );
206
211 FwIndexType portNum
212 );
213
214 PROTECTED:
215
216 // ----------------------------------------------------------------------
217 // Handlers to implement for typed input ports
218 // ----------------------------------------------------------------------
219
221 virtual void CmdBuff_handler(
222 FwIndexType portNum,
223 Fw::ComBuffer& data,
224 U32 context
225 ) = 0;
226
229 FwIndexType portNum,
230 FwOpcodeType opCode,
231 U32 cmdSeq,
232 const Fw::CmdResponse& response
233 ) = 0;
234
235 PROTECTED:
236
237 // ----------------------------------------------------------------------
238 // Port handler base-class functions for typed input ports
239 //
240 // Call these functions directly to bypass the corresponding ports
241 // ----------------------------------------------------------------------
242
245 FwIndexType portNum,
246 Fw::ComBuffer& data,
247 U32 context
248 );
249
252 FwIndexType portNum,
253 FwOpcodeType opCode,
254 U32 cmdSeq,
255 const Fw::CmdResponse& response
256 );
257
258 PROTECTED:
259
260 // ----------------------------------------------------------------------
261 // Invocation functions for typed output ports
262 // ----------------------------------------------------------------------
263
265 void LocalCmd_out(
266 FwIndexType portNum,
267 Fw::ComBuffer& data,
268 U32 context
269 );
270
272 void RemoteCmd_out(
273 FwIndexType portNum,
274 Fw::ComBuffer& data,
275 U32 context
276 );
277
280 FwIndexType portNum,
281 FwOpcodeType opCode,
282 U32 cmdSeq,
283 const Fw::CmdResponse& response
284 );
285
286 PRIVATE:
287
288 // ----------------------------------------------------------------------
289 // Calls for messages received on typed input ports
290 // ----------------------------------------------------------------------
291
293 static void m_p_CmdBuff_in(
294 Fw::PassiveComponentBase* callComp,
295 FwIndexType portNum,
296 Fw::ComBuffer& data,
297 U32 context
298 );
299
301 static void m_p_seqCmdStatus_in(
302 Fw::PassiveComponentBase* callComp,
303 FwIndexType portNum,
304 FwOpcodeType opCode,
305 U32 cmdSeq,
306 const Fw::CmdResponse& response
307 );
308
309 PRIVATE:
310
311 // ----------------------------------------------------------------------
312 // Typed input ports
313 // ----------------------------------------------------------------------
314
316 Fw::InputComPort m_CmdBuff_InputPort[NUM_CMDBUFF_INPUT_PORTS];
317
320
321 PRIVATE:
322
323 // ----------------------------------------------------------------------
324 // Typed output ports
325 // ----------------------------------------------------------------------
326
328 Fw::OutputComPort m_LocalCmd_OutputPort[NUM_LOCALCMD_OUTPUT_PORTS];
329
331 Fw::OutputComPort m_RemoteCmd_OutputPort[NUM_REMOTECMD_OUTPUT_PORTS];
332
334 Fw::OutputCmdResponsePort m_forwardSeqCmdStatus_OutputPort[NUM_FORWARDSEQCMDSTATUS_OUTPUT_PORTS];
335
336 };
337
338}
339
340#endif
I32 FwEnumStoreType
Definition FpConfig.h:64
U32 FwOpcodeType
Definition FpConfig.h:91
PlatformIndexType FwIndexType
Definition FpConfig.h:25
C++-compatible configuration header for fprime configuration.
Enum representing a command response.
void init()
Object initializer.
Definition ObjBase.cpp:27
Auto-generated base for CmdSplitter component.
void RemoteCmd_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Invoke output port RemoteCmd.
bool isConnected_RemoteCmd_OutputPort(FwIndexType portNum)
void CmdBuff_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port CmdBuff.
void set_forwardSeqCmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to forwardSeqCmdStatus[portNum].
void set_LocalCmd_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to LocalCmd[portNum].
void seqCmdStatus_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port seqCmdStatus.
virtual void CmdBuff_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port CmdBuff.
friend class CmdSplitterComponentBaseFriend
Friend class for white-box testing.
virtual ~CmdSplitterComponentBase()
Destroy CmdSplitterComponentBase object.
bool isConnected_forwardSeqCmdStatus_OutputPort(FwIndexType portNum)
void forwardSeqCmdStatus_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke output port forwardSeqCmdStatus.
FwIndexType getNum_seqCmdStatus_InputPorts() const
FwIndexType getNum_forwardSeqCmdStatus_OutputPorts() const
bool isConnected_LocalCmd_OutputPort(FwIndexType portNum)
void set_RemoteCmd_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to RemoteCmd[portNum].
virtual void seqCmdStatus_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port seqCmdStatus.
Fw::InputComPort * get_CmdBuff_InputPort(FwIndexType portNum)
Fw::InputCmdResponsePort * get_seqCmdStatus_InputPort(FwIndexType portNum)
void LocalCmd_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Invoke output port LocalCmd.