F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
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  Svc::TimerVal& 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  Svc::TimerVal& cycleStart
174  );
175 
176  PROTECTED:
177 
178  // ----------------------------------------------------------------------
179  // Invocation functions for typed output ports
180  // ----------------------------------------------------------------------
181 
183  void CycleOut_out(
184  FwIndexType portNum,
185  Svc::TimerVal& 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  Svc::TimerVal& 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:51
PlatformIndexType FwIndexType
Definition: FpConfig.h:20
C++-compatible configuration header for fprime configuration.
void init()
Object initializer.
Definition: ObjBase.cpp:27
Auto-generated base for RateGroupDriver component.
void CycleOut_out(FwIndexType portNum, Svc::TimerVal &cycleStart)
Invoke output port CycleOut.
friend class RateGroupDriverComponentBaseFriend
Friend class for white-box testing.
RateGroupDriverComponentBase(const char *compName="")
Construct RateGroupDriverComponentBase object.
virtual ~RateGroupDriverComponentBase()
Destroy RateGroupDriverComponentBase object.
void CycleIn_handlerBase(FwIndexType portNum, Svc::TimerVal &cycleStart)
Handler base-class function for input port CycleIn.
virtual void CycleIn_handler(FwIndexType portNum, Svc::TimerVal &cycleStart)=0
Handler for input port CycleIn.
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)
Serializable class for carrying timer values.
Definition: TimerVal.hpp:22