F´ Flight Software - C/C++ Documentation
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 
11 #include "Fw/FPrimeBasicTypes.hpp"
15 
16 namespace Svc {
17 
24  {
25 
26  // ----------------------------------------------------------------------
27  // Friend classes
28  // ----------------------------------------------------------------------
29 
33  friend class RateGroupDriverTester;
34 
35  PROTECTED:
36 
37  // ----------------------------------------------------------------------
38  // Constants
39  // ----------------------------------------------------------------------
40 
42  enum {
44  };
45 
47  enum {
49  };
50 
51  public:
52 
53  // ----------------------------------------------------------------------
54  // Component initialization
55  // ----------------------------------------------------------------------
56 
58  void init(
59  FwEnumStoreType instance = 0
60  );
61 
62  public:
63 
64  // ----------------------------------------------------------------------
65  // Getters for typed input ports
66  // ----------------------------------------------------------------------
67 
72  FwIndexType portNum
73  );
74 
75  public:
76 
77  // ----------------------------------------------------------------------
78  // Connect typed input ports to typed output ports
79  // ----------------------------------------------------------------------
80 
83  FwIndexType portNum,
84  Svc::InputCyclePort* port
85  );
86 
87 #if FW_PORT_SERIALIZATION
88 
89  public:
90 
91  // ----------------------------------------------------------------------
92  // Connect serial input ports to typed output ports
93  // ----------------------------------------------------------------------
94 
97  FwIndexType portNum,
98  Fw::InputSerializePort* port
99  );
100 
101 #endif
102 
103  PROTECTED:
104 
105  // ----------------------------------------------------------------------
106  // Component construction and destruction
107  // ----------------------------------------------------------------------
108 
111  const char* compName = ""
112  );
113 
116 
117  PROTECTED:
118 
119  // ----------------------------------------------------------------------
120  // Getters for numbers of typed input ports
121  // ----------------------------------------------------------------------
122 
127 
128  PROTECTED:
129 
130  // ----------------------------------------------------------------------
131  // Getters for numbers of typed output ports
132  // ----------------------------------------------------------------------
133 
138 
139  PROTECTED:
140 
141  // ----------------------------------------------------------------------
142  // Connection status queries for typed output ports
143  // ----------------------------------------------------------------------
144 
149  FwIndexType portNum
150  );
151 
152  PROTECTED:
153 
154  // ----------------------------------------------------------------------
155  // Handlers to implement for typed input ports
156  // ----------------------------------------------------------------------
157 
159  virtual void CycleIn_handler(
160  FwIndexType portNum,
161  Os::RawTime& cycleStart
162  ) = 0;
163 
164  PROTECTED:
165 
166  // ----------------------------------------------------------------------
167  // Port handler base-class functions for typed input ports
168  //
169  // Call these functions directly to bypass the corresponding ports
170  // ----------------------------------------------------------------------
171 
173  void CycleIn_handlerBase(
174  FwIndexType portNum,
175  Os::RawTime& cycleStart
176  );
177 
178  PROTECTED:
179 
180  // ----------------------------------------------------------------------
181  // Invocation functions for typed output ports
182  // ----------------------------------------------------------------------
183 
185  void CycleOut_out(
186  FwIndexType portNum,
187  Os::RawTime& cycleStart
188  );
189 
190  PRIVATE:
191 
192  // ----------------------------------------------------------------------
193  // Calls for messages received on typed input ports
194  // ----------------------------------------------------------------------
195 
197  static void m_p_CycleIn_in(
198  Fw::PassiveComponentBase* callComp,
199  FwIndexType portNum,
200  Os::RawTime& cycleStart
201  );
202 
203  PRIVATE:
204 
205  // ----------------------------------------------------------------------
206  // Typed input ports
207  // ----------------------------------------------------------------------
208 
210  Svc::InputCyclePort m_CycleIn_InputPort[NUM_CYCLEIN_INPUT_PORTS];
211 
212  PRIVATE:
213 
214  // ----------------------------------------------------------------------
215  // Typed output ports
216  // ----------------------------------------------------------------------
217 
219  Svc::OutputCyclePort m_CycleOut_OutputPort[NUM_CYCLEOUT_OUTPUT_PORTS];
220 
221  };
222 
223 }
224 
225 #endif
friend class RateGroupDriverTesterBase
Friend class tester to support autocoded test harness.
I32 FwEnumStoreType
virtual ~RateGroupDriverComponentBase()
Destroy RateGroupDriverComponentBase object.
void set_CycleOut_OutputPort(FwIndexType portNum, Svc::InputCyclePort *port)
Connect port to CycleOut[portNum].
void init()
Object initializer.
Definition: ObjBase.cpp:26
virtual void CycleIn_handler(FwIndexType portNum, Os::RawTime &cycleStart)=0
Handler for input port CycleIn.
Auto-generated base for RateGroupDriver component.
void CycleOut_out(FwIndexType portNum, Os::RawTime &cycleStart)
Invoke output port CycleOut.
void CycleIn_handlerBase(FwIndexType portNum, Os::RawTime &cycleStart)
Handler base-class function for input port CycleIn.
bool isConnected_CycleOut_OutputPort(FwIndexType portNum)
Svc::InputCyclePort * get_CycleIn_InputPort(FwIndexType portNum)
RateGroupDriverComponentBase(const char *compName="")
Construct RateGroupDriverComponentBase object.
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
friend class RateGroupDriverTester
Friend class tester implementation to support white-box testing.