F´ Flight Software - C/C++ Documentation  NASA-v1.5.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
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