F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
Enum representing a command response.
Auto-generated base for CmdSplitter component.
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