F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
SchedPortAc.hpp
Go to the documentation of this file.
1 /*
2  * SchedPort.hpp
3  *
4  * Created on: Wednesday, 14 October 2020
5  * Author: mstarch
6  *
7  */
8 #ifndef SVC_SCHED_PORT_HPP_
9 #define SVC_SCHED_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 
21 
22 namespace Svc {
23 
26 
28  public:
29  enum {
31  };
32  typedef void (*CompFuncPtr)(Fw::PassiveComponentBase* callComp, NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context);
33 
34  InputSchedPort(void);
35  void init(void);
36  void addCallComp(Fw::PassiveComponentBase* callComp, CompFuncPtr funcPtr);
37  void invoke(NATIVE_UINT_TYPE context);
38  protected:
39  private:
40  CompFuncPtr m_func;
41 #if FW_PORT_SERIALIZATION == 1
42  Fw::SerializeStatus invokeSerial(Fw::SerializeBufferBase &buffer);
43 #endif
44 };
47 
49  public:
50  OutputSchedPort(void);
51  void init(void);
52  void addCallPort(InputSchedPort* callPort);
53  void invoke(NATIVE_UINT_TYPE context);
54  protected:
55  private:
56  InputSchedPort* m_port;
57  };
58 } // end namespace Svc
59 #endif /* SVC_SCHED_PORT_HPP_ */
60 
StringType.hpp
Declares ISF string base class.
InputPortBase.hpp
Svc::InputSchedPort::CompFuncPtr
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
port callback definition
Definition: SchedPortAc.hpp:32
PassiveComponentBase.hpp
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Svc::InputSchedPort::addCallComp
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
call to register a component
Definition: SchedPortAc.cpp:42
Serializable.hpp
Svc::InputSchedPort::init
void init(void)
initialization function
Definition: SchedPortAc.cpp:38
Svc::InputSchedPort::SERIALIZED_SIZE
@ SERIALIZED_SIZE
serialized size of port arguments
Definition: SchedPortAc.hpp:30
Fw::PassiveComponentBase
Definition: PassiveComponentBase.hpp:10
Svc::InputSchedPort::InputSchedPort
InputSchedPort(void)
constructor
Definition: SchedPortAc.cpp:33
Fw::InputPortBase
Definition: InputPortBase.hpp:14
Svc::InputSchedPort
Definition: SchedPortAc.hpp:27
Svc::InputSchedPort::invoke
void invoke(NATIVE_UINT_TYPE context)
invoke port interface
Definition: SchedPortAc.cpp:52
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
Svc::OutputSchedPort::invoke
void invoke(NATIVE_UINT_TYPE context)
Definition: SchedPortAc.cpp:103
Svc::OutputSchedPort::addCallPort
void addCallPort(InputSchedPort *callPort)
Definition: SchedPortAc.cpp:93
OutputPortBase.hpp
Svc::OutputSchedPort::init
void init(void)
Definition: SchedPortAc.cpp:89
FpConfig.hpp
ISF configuration file.
Fw::OutputPortBase
Definition: OutputPortBase.hpp:13
Svc
Definition: ActiveLoggerComponentAc.cpp:22
Svc::OutputSchedPort::OutputSchedPort
OutputSchedPort(void)
Definition: SchedPortAc.cpp:84
BasicTypes.hpp
Declares ISF basic types.
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Svc::OutputSchedPort
Definition: SchedPortAc.hpp:48