F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
CmdPortAc.hpp
Go to the documentation of this file.
1 /*
2  * CmdPort.hpp
3  *
4  * Created on: Wednesday, 14 October 2020
5  * Author: mstarch
6  *
7  */
8 #ifndef FW_CMD_PORT_HPP_
9 #define FW_CMD_PORT_HPP_
10 
11 #include <cstring>
12 #include <cstdio>
13 #include <FpConfig.hpp>
17 #include <Fw/Types/BasicTypes.hpp>
19 #include <Fw/Types/StringType.hpp>
20 #include <Fw/Cmd/CmdArgBuffer.hpp>
21 
22 
23 namespace Fw {
24 
27 
29  public:
30  enum {
32  };
33  typedef void (*CompFuncPtr)(Fw::PassiveComponentBase* callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, CmdArgBuffer &args);
34 
35  InputCmdPort(void);
36  void init(void);
37  void addCallComp(Fw::PassiveComponentBase* callComp, CompFuncPtr funcPtr);
38  void invoke(FwOpcodeType opCode, U32 cmdSeq, CmdArgBuffer &args);
39  protected:
40  private:
41  CompFuncPtr m_func;
42 #if FW_PORT_SERIALIZATION == 1
43  Fw::SerializeStatus invokeSerial(Fw::SerializeBufferBase &buffer);
44 #endif
45 };
48 
50  public:
51  OutputCmdPort(void);
52  void init(void);
53  void addCallPort(InputCmdPort* callPort);
54  void invoke(FwOpcodeType opCode, U32 cmdSeq, CmdArgBuffer &args);
55  protected:
56  private:
57  InputCmdPort* m_port;
58  };
59 } // end namespace Fw
60 #endif /* FW_CMD_PORT_HPP_ */
61 
StringType.hpp
Declares ISF string base class.
InputPortBase.hpp
Fw::OutputCmdPort::OutputCmdPort
OutputCmdPort(void)
Definition: CmdPortAc.cpp:96
PassiveComponentBase.hpp
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Serializable.hpp
Fw::InputCmdPort::InputCmdPort
InputCmdPort(void)
constructor
Definition: CmdPortAc.cpp:33
Fw::InputCmdPort::addCallComp
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
call to register a component
Definition: CmdPortAc.cpp:42
Fw::InputCmdPort::init
void init(void)
initialization function
Definition: CmdPortAc.cpp:38
Fw::OutputCmdPort::addCallPort
void addCallPort(InputCmdPort *callPort)
Definition: CmdPortAc.cpp:105
Fw::PassiveComponentBase
Definition: PassiveComponentBase.hpp:10
Fw::InputCmdPort::CompFuncPtr
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, CmdArgBuffer &args)
port callback definition
Definition: CmdPortAc.hpp:33
Fw::InputPortBase
Definition: InputPortBase.hpp:14
FwOpcodeType
#define FwOpcodeType
Type representation for a command opcode.
Definition: FpConfig.hpp:62
Fw::InputCmdPort::invoke
void invoke(FwOpcodeType opCode, U32 cmdSeq, CmdArgBuffer &args)
invoke port interface
Definition: CmdPortAc.cpp:52
Fw::OutputCmdPort::invoke
void invoke(FwOpcodeType opCode, U32 cmdSeq, CmdArgBuffer &args)
Definition: CmdPortAc.cpp:115
Fw::CmdArgBuffer
Definition: CmdArgBuffer.hpp:22
OutputPortBase.hpp
Fw::CmdArgBuffer::SERIALIZED_SIZE
@ SERIALIZED_SIZE
size when serialized. Buffer + size of buffer
Definition: CmdArgBuffer.hpp:27
Fw::InputCmdPort
Definition: CmdPortAc.hpp:28
FpConfig.hpp
ISF configuration file.
Fw::OutputPortBase
Definition: OutputPortBase.hpp:13
Fw::OutputCmdPort
Definition: CmdPortAc.hpp:49
Fw::OutputCmdPort::init
void init(void)
Definition: CmdPortAc.cpp:101
BasicTypes.hpp
Declares ISF basic types.
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Fw::InputCmdPort::SERIALIZED_SIZE
@ SERIALIZED_SIZE
serialized size of port arguments
Definition: CmdPortAc.hpp:31
Fw
Definition: BufferGetPortAc.cpp:6
CmdArgBuffer.hpp