F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
CmdSplitter.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title CmdSplitter.cpp
3// \author watney
4// \brief cpp file for CmdSplitter component implementation class
5// ======================================================================
6
7#include <FpConfig.hpp>
11
12namespace Svc {
13
14// ----------------------------------------------------------------------
15// Construction, initialization, and destruction
16// ----------------------------------------------------------------------
17
18CmdSplitter ::CmdSplitter(const char* const compName) : CmdSplitterComponentBase(compName) {}
19
20CmdSplitter ::~CmdSplitter() {}
21
22// ----------------------------------------------------------------------
23// Handler implementations for user-defined typed input ports
24// ----------------------------------------------------------------------
25
26void CmdSplitter ::CmdBuff_handler(const NATIVE_INT_TYPE portNum, Fw::ComBuffer& data, U32 context) {
27 Fw::CmdPacket cmdPkt;
28 Fw::SerializeStatus stat = cmdPkt.deserialize(data);
29
30 if (stat != Fw::FW_SERIALIZE_OK) {
31 // Let the local command dispatcher deal with it
32 this->LocalCmd_out(0, data, context);
33 } else {
34 // Check if local or remote
36 this->LocalCmd_out(0, data, context);
37 } else {
38 this->RemoteCmd_out(0, data, context);
39 }
40 }
41}
42
43void CmdSplitter ::seqCmdStatus_handler(const NATIVE_INT_TYPE portNum,
44 FwOpcodeType opCode,
45 U32 cmdSeq,
46 const Fw::CmdResponse& response) {
47 // Forward the command status
48 this->forwardSeqCmdStatus_out(portNum, opCode, cmdSeq, response);
49}
50
51} // end namespace Svc
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
U32 FwOpcodeType
Definition FpConfig.h:56
C++-compatible configuration header for fprime configuration.
FwOpcodeType getOpCode() const
Definition CmdPacket.cpp:55
SerializeStatus deserialize(SerializeBufferBase &buffer)
deserialize to contents
Definition CmdPacket.cpp:29
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
static const FwOpcodeType CMD_SPLITTER_REMOTE_OPCODE_BASE
< Base value for remote opcodes used by Svc::CmdSplitter