F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
DpWrittenPortAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title DpWrittenPortAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for DpWritten port
5 // ======================================================================
6 
7 #ifndef Svc_DpWrittenPortAc_HPP
8 #define Svc_DpWrittenPortAc_HPP
9 
10 #include "Fw/FPrimeBasicTypes.hpp"
16 #if !FW_DIRECT_PORT_CALLS
20 #endif
21 
22 namespace Svc {
23 
28  {
29 
30  public:
31 
32  // ----------------------------------------------------------------------
33  // Public constants for DpWrittenPortBuffer
34  // ----------------------------------------------------------------------
35 
38  static constexpr FwSizeType CAPACITY =
40  sizeof(FwDpPriorityType) +
41  sizeof(FwSizeType);
42 
43  public:
44 
45  // ----------------------------------------------------------------------
46  // Public member functions for DpWrittenPortBuffer
47  // ----------------------------------------------------------------------
48 
52  return CAPACITY;
53  }
54 
57  U8* getBuffAddr() override {
58  return m_buff;
59  }
60 
63  const U8* getBuffAddr() const override {
64  return m_buff;
65  }
66 
67  private:
68 
69  // ----------------------------------------------------------------------
70  // Private member variables
71  // ----------------------------------------------------------------------
72 
73  U8 m_buff[CAPACITY];
74 
75  };
76 
80 
81  public:
82 
83  // ----------------------------------------------------------------------
84  // Public constructors for DpWrittenPortSerializer
85  // ----------------------------------------------------------------------
86 
89 
90  public:
91 
92  // ----------------------------------------------------------------------
93  // Public member functions for DpWrittenPortSerializer
94  // ----------------------------------------------------------------------
95 
98  Fw::SerialBufferBase& _buffer
99  );
100 
101  public:
102 
103  // ----------------------------------------------------------------------
104  // Public static functions for DpWrittenPortSerializer
105  // ----------------------------------------------------------------------
106 
109  const Fw::StringBase& fileName,
110  FwDpPriorityType priority,
111  FwSizeType size,
112  Fw::SerialBufferBase& _buffer
113  );
114 
115  private:
116 
117  // ----------------------------------------------------------------------
118  // Private member variables for DpWrittenPortSerializer
119  // ----------------------------------------------------------------------
120 
121  char m___fprime_ac_fileName_buffer[Fw::StringBase::BUFFER_SIZE(240)];
122 
123  public:
124 
125  // ----------------------------------------------------------------------
126  // Public member variables for DpWrittenPortSerializer
127  // ----------------------------------------------------------------------
128 
132 
133  };
134 
135 #if !FW_DIRECT_PORT_CALLS
136 
140  public Fw::InputPortBase
141  {
142 
143  public:
144 
145  // ----------------------------------------------------------------------
146  // Public types for InputDpWrittenPort
147  // ----------------------------------------------------------------------
148 
150  typedef void (*CompFuncPtr)(
151  Fw::PassiveComponentBase* callComp,
152  FwIndexType portNum,
153  const Fw::StringBase& fileName,
154  FwDpPriorityType priority,
155  FwSizeType size
156  );
157 
158  public:
159 
160  // ----------------------------------------------------------------------
161  // Public constructors for InputDpWrittenPort
162  // ----------------------------------------------------------------------
163 
166 
167  public:
168 
169  // ----------------------------------------------------------------------
170  // Public member functions for InputDpWrittenPort
171  // ----------------------------------------------------------------------
172 
174  void init();
175 
177  void addCallComp(
178  Fw::PassiveComponentBase* callComp,
179  CompFuncPtr funcPtr
180  );
181 
183  void invoke(
184  const Fw::StringBase& fileName,
185  FwDpPriorityType priority,
186  FwSizeType size
187  );
188 
189  private:
190 
191  // ----------------------------------------------------------------------
192  // Private member functions for InputDpWrittenPort
193  // ----------------------------------------------------------------------
194 
195 #if FW_PORT_SERIALIZATION == 1
196 
199  Fw::SerializeStatus invokeSerial(
200  Fw::LinearBufferBase& _buffer
201  );
202 
203 #endif
204 
205  private:
206 
207  // ----------------------------------------------------------------------
208  // Private member variables for InputDpWrittenPort
209  // ----------------------------------------------------------------------
210 
212  CompFuncPtr m_func;
213 
214  };
215 
219  public Fw::OutputPortBase
220  {
221 
222  public:
223 
224  // ----------------------------------------------------------------------
225  // Public constructors for OutputDpWrittenPort
226  // ----------------------------------------------------------------------
227 
230 
231  public:
232 
233  // ----------------------------------------------------------------------
234  // Public member functions for OutputDpWrittenPort
235  // ----------------------------------------------------------------------
236 
238  void init();
239 
241  void addCallPort(
242  InputDpWrittenPort* callPort
243  );
244 
246  void invoke(
247  const Fw::StringBase& fileName,
248  FwDpPriorityType priority,
249  FwSizeType size
250  ) const;
251 
252  private:
253 
254  // ----------------------------------------------------------------------
255  // Private member variables for OutputDpWrittenPort
256  // ----------------------------------------------------------------------
257 
259  InputDpWrittenPort* m_port;
260 
261  };
262 
263 #endif
264 
265 }
266 
267 #endif
void invoke(const Fw::StringBase &fileName, FwDpPriorityType priority, FwSizeType size) const
Invoke a port connection.
PlatformSizeType FwSizeType
U32 FwDpPriorityType
The type of a data product priority.
void addCallPort(InputDpWrittenPort *callPort)
Register an input port.
Fw::SerializeStatus deserializePortArgs(Fw::SerialBufferBase &_buffer)
Deserialze port arguments into members.
Fw::Serializable::SizeType getCapacity() const override
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
DpWrittenPortSerializer()
Constructor.
OutputDpWrittenPort()
Constructor.
SerializeStatus
forward declaration for string
const U8 * getBuffAddr() const override
static constexpr FwSizeType CAPACITY
FwSizeType SizeType
A string backed by an external buffer.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
void(* CompFuncPtr)(Fw::PassiveComponentBase *callComp, FwIndexType portNum, const Fw::StringBase &fileName, FwDpPriorityType priority, FwSizeType size)
The port callback function type.
PlatformIndexType FwIndexType
InputDpWrittenPort()
Constructor.
RateGroupDivider component implementation.
static Fw::SerializeStatus serializePortArgs(const Fw::StringBase &fileName, FwDpPriorityType priority, FwSizeType size, Fw::SerialBufferBase &_buffer)
Serialize port arguments into a buffer.
static constexpr SizeType STATIC_SERIALIZED_SIZE(SizeType maxLength)
void init()
Initialization function.
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
void invoke(const Fw::StringBase &fileName, FwDpPriorityType priority, FwSizeType size)
Invoke a port interface.
void init()
Initialization function.