F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RateGroupDriverComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title RateGroupDriverComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for RateGroupDriver component base class
5 // ======================================================================
6 
7 #ifndef Svc_RateGroupDriverComponentAc_HPP
8 #define Svc_RateGroupDriverComponentAc_HPP
9 
10 #include "FpConfig.hpp"
15 
16 namespace Svc {
17 
24  {
25 
26  // ----------------------------------------------------------------------
27  // Friend classes
28  // ----------------------------------------------------------------------
29 
32 
33  PROTECTED:
34 
35  // ----------------------------------------------------------------------
36  // Constants
37  // ----------------------------------------------------------------------
38 
40  enum {
42  };
43 
45  enum {
47  };
48 
49  public:
50 
51  // ----------------------------------------------------------------------
52  // Component initialization
53  // ----------------------------------------------------------------------
54 
56  void init(
57  FwEnumStoreType instance = 0
58  );
59 
60  public:
61 
62  // ----------------------------------------------------------------------
63  // Getters for typed input ports
64  // ----------------------------------------------------------------------
65 
70  FwIndexType portNum
71  );
72 
73  public:
74 
75  // ----------------------------------------------------------------------
76  // Connect typed input ports to typed output ports
77  // ----------------------------------------------------------------------
78 
81  FwIndexType portNum,
82  Svc::InputCyclePort* port
83  );
84 
85 #if FW_PORT_SERIALIZATION
86 
87  public:
88 
89  // ----------------------------------------------------------------------
90  // Connect serial input ports to typed output ports
91  // ----------------------------------------------------------------------
92 
95  FwIndexType portNum,
96  Fw::InputSerializePort* port
97  );
98 
99 #endif
100 
101  PROTECTED:
102 
103  // ----------------------------------------------------------------------
104  // Component construction and destruction
105  // ----------------------------------------------------------------------
106 
109  const char* compName = ""
110  );
111 
114 
115  PROTECTED:
116 
117  // ----------------------------------------------------------------------
118  // Getters for numbers of typed input ports
119  // ----------------------------------------------------------------------
120 
125 
126  PROTECTED:
127 
128  // ----------------------------------------------------------------------
129  // Getters for numbers of typed output ports
130  // ----------------------------------------------------------------------
131 
136 
137  PROTECTED:
138 
139  // ----------------------------------------------------------------------
140  // Connection status queries for typed output ports
141  // ----------------------------------------------------------------------
142 
147  FwIndexType portNum
148  );
149 
150  PROTECTED:
151 
152  // ----------------------------------------------------------------------
153  // Handlers to implement for typed input ports
154  // ----------------------------------------------------------------------
155 
157  virtual void CycleIn_handler(
158  FwIndexType portNum,
159  Os::RawTime& cycleStart
160  ) = 0;
161 
162  PROTECTED:
163 
164  // ----------------------------------------------------------------------
165  // Port handler base-class functions for typed input ports
166  //
167  // Call these functions directly to bypass the corresponding ports
168  // ----------------------------------------------------------------------
169 
171  void CycleIn_handlerBase(
172  FwIndexType portNum,
173  Os::RawTime& cycleStart
174  );
175 
176  PROTECTED:
177 
178  // ----------------------------------------------------------------------
179  // Invocation functions for typed output ports
180  // ----------------------------------------------------------------------
181 
183  void CycleOut_out(
184  FwIndexType portNum,
185  Os::RawTime& cycleStart
186  );
187 
188  PRIVATE:
189 
190  // ----------------------------------------------------------------------
191  // Calls for messages received on typed input ports
192  // ----------------------------------------------------------------------
193 
195  static void m_p_CycleIn_in(
196  Fw::PassiveComponentBase* callComp,
197  FwIndexType portNum,
198  Os::RawTime& cycleStart
199  );
200 
201  PRIVATE:
202 
203  // ----------------------------------------------------------------------
204  // Typed input ports
205  // ----------------------------------------------------------------------
206 
208  Svc::InputCyclePort m_CycleIn_InputPort[NUM_CYCLEIN_INPUT_PORTS];
209 
210  PRIVATE:
211 
212  // ----------------------------------------------------------------------
213  // Typed output ports
214  // ----------------------------------------------------------------------
215 
217  Svc::OutputCyclePort m_CycleOut_OutputPort[NUM_CYCLEOUT_OUTPUT_PORTS];
218 
219  };
220 
221 }
222 
223 #endif
I32 FwEnumStoreType
Definition: FpConfig.h:64
PlatformIndexType FwIndexType
Definition: FpConfig.h:25
C++-compatible configuration header for fprime configuration.
void init()
Object initializer.
Definition: ObjBase.cpp:27
Auto-generated base for RateGroupDriver component.
virtual void CycleIn_handler(FwIndexType portNum, Os::RawTime &cycleStart)=0
Handler for input port CycleIn.
friend class RateGroupDriverComponentBaseFriend
Friend class for white-box testing.
void CycleIn_handlerBase(FwIndexType portNum, Os::RawTime &cycleStart)
Handler base-class function for input port CycleIn.
RateGroupDriverComponentBase(const char *compName="")
Construct RateGroupDriverComponentBase object.
void CycleOut_out(FwIndexType portNum, Os::RawTime &cycleStart)
Invoke output port CycleOut.
virtual ~RateGroupDriverComponentBase()
Destroy RateGroupDriverComponentBase object.
Svc::InputCyclePort * get_CycleIn_InputPort(FwIndexType portNum)
void set_CycleOut_OutputPort(FwIndexType portNum, Svc::InputCyclePort *port)
Connect port to CycleOut[portNum].
bool isConnected_CycleOut_OutputPort(FwIndexType portNum)