F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
FrameContextSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title FrameContextSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for FrameContext struct
5 // ======================================================================
6 
7 #include "Fw/Types/Assert.hpp"
9 
10 namespace ComCfg {
11 
12  // ----------------------------------------------------------------------
13  // Constructors
14  // ----------------------------------------------------------------------
15 
18  Serializable(),
19  m_comQueueIndex(),
20  m_apid(ComCfg::Apid::FW_PACKET_UNKNOWN),
21  m_pktType(),
22  m_hasSecHdr(),
23  m_sequenceFlags(3),
24  m_sequenceCount(),
25  m_vcId(1),
26  m_pvn(),
27  m_sendNow(),
28  m_saIndex(65535),
29  m_firstHeaderPointer()
30  {
31 
32  }
33 
36  FwIndexType comQueueIndex,
37  ComCfg::Apid::T apid,
39  bool hasSecHdr,
40  U8 sequenceFlags,
41  U16 sequenceCount,
42  U8 vcId,
43  ComCfg::Pvn::T pvn,
44  bool sendNow,
45  U16 saIndex,
46  U16 firstHeaderPointer
47  ) :
48  Serializable(),
49  m_comQueueIndex(comQueueIndex),
50  m_apid(apid),
51  m_pktType(pktType),
52  m_hasSecHdr(hasSecHdr),
53  m_sequenceFlags(sequenceFlags),
54  m_sequenceCount(sequenceCount),
55  m_vcId(vcId),
56  m_pvn(pvn),
57  m_sendNow(sendNow),
58  m_saIndex(saIndex),
59  m_firstHeaderPointer(firstHeaderPointer)
60  {
61 
62  }
63 
66  Serializable(),
67  m_comQueueIndex(obj.m_comQueueIndex),
68  m_apid(obj.m_apid),
69  m_pktType(obj.m_pktType),
70  m_hasSecHdr(obj.m_hasSecHdr),
71  m_sequenceFlags(obj.m_sequenceFlags),
72  m_sequenceCount(obj.m_sequenceCount),
73  m_vcId(obj.m_vcId),
74  m_pvn(obj.m_pvn),
75  m_sendNow(obj.m_sendNow),
76  m_saIndex(obj.m_saIndex),
77  m_firstHeaderPointer(obj.m_firstHeaderPointer)
78  {
79 
80  }
81 
82  // ----------------------------------------------------------------------
83  // Operators
84  // ----------------------------------------------------------------------
85 
88  {
89  if (this == &obj) {
90  return *this;
91  }
92 
94  return *this;
95  }
96 
97  bool FrameContext ::
98  operator==(const FrameContext& obj) const
99  {
100  if (this == &obj) { return true; }
101  return (
102  (this->m_comQueueIndex == obj.m_comQueueIndex) &&
103  (this->m_apid == obj.m_apid) &&
104  (this->m_pktType == obj.m_pktType) &&
105  (this->m_hasSecHdr == obj.m_hasSecHdr) &&
106  (this->m_sequenceFlags == obj.m_sequenceFlags) &&
107  (this->m_sequenceCount == obj.m_sequenceCount) &&
108  (this->m_vcId == obj.m_vcId) &&
109  (this->m_pvn == obj.m_pvn) &&
110  (this->m_sendNow == obj.m_sendNow) &&
111  (this->m_saIndex == obj.m_saIndex) &&
112  (this->m_firstHeaderPointer == obj.m_firstHeaderPointer)
113  );
114  }
115 
116  bool FrameContext ::
117  operator!=(const FrameContext& obj) const
118  {
119  return !(*this == obj);
120  }
121 
122 #ifdef BUILD_UT
123 
124  std::ostream& operator<<(std::ostream& os, const FrameContext& obj) {
125  Fw::String s;
126  obj.toString(s);
127  os << s.toChar();
128  return os;
129  }
130 
131 #endif
132 
133  // ----------------------------------------------------------------------
134  // Member functions
135  // ----------------------------------------------------------------------
136 
139  Fw::SerialBufferBase& buffer,
140  Fw::Endianness mode
141  ) const
142  {
143  Fw::SerializeStatus status;
144 
145  status = buffer.serializeFrom(this->m_comQueueIndex, mode);
146  if (status != Fw::FW_SERIALIZE_OK) {
147  return status;
148  }
149  status = buffer.serializeFrom(this->m_apid, mode);
150  if (status != Fw::FW_SERIALIZE_OK) {
151  return status;
152  }
153  status = buffer.serializeFrom(this->m_pktType, mode);
154  if (status != Fw::FW_SERIALIZE_OK) {
155  return status;
156  }
157  status = buffer.serializeFrom(this->m_hasSecHdr, mode);
158  if (status != Fw::FW_SERIALIZE_OK) {
159  return status;
160  }
161  status = buffer.serializeFrom(this->m_sequenceFlags, mode);
162  if (status != Fw::FW_SERIALIZE_OK) {
163  return status;
164  }
165  status = buffer.serializeFrom(this->m_sequenceCount, mode);
166  if (status != Fw::FW_SERIALIZE_OK) {
167  return status;
168  }
169  status = buffer.serializeFrom(this->m_vcId, mode);
170  if (status != Fw::FW_SERIALIZE_OK) {
171  return status;
172  }
173  status = buffer.serializeFrom(this->m_pvn, mode);
174  if (status != Fw::FW_SERIALIZE_OK) {
175  return status;
176  }
177  status = buffer.serializeFrom(this->m_sendNow, mode);
178  if (status != Fw::FW_SERIALIZE_OK) {
179  return status;
180  }
181  status = buffer.serializeFrom(this->m_saIndex, mode);
182  if (status != Fw::FW_SERIALIZE_OK) {
183  return status;
184  }
185  status = buffer.serializeFrom(this->m_firstHeaderPointer, mode);
186  if (status != Fw::FW_SERIALIZE_OK) {
187  return status;
188  }
189 
190  return status;
191  }
192 
195  Fw::SerialBufferBase& buffer,
196  Fw::Endianness mode
197  )
198  {
199  Fw::SerializeStatus status;
200 
201  status = buffer.deserializeTo(this->m_comQueueIndex, mode);
202  if (status != Fw::FW_SERIALIZE_OK) {
203  return status;
204  }
205  status = buffer.deserializeTo(this->m_apid, mode);
206  if (status != Fw::FW_SERIALIZE_OK) {
207  return status;
208  }
209  status = buffer.deserializeTo(this->m_pktType, mode);
210  if (status != Fw::FW_SERIALIZE_OK) {
211  return status;
212  }
213  status = buffer.deserializeTo(this->m_hasSecHdr, mode);
214  if (status != Fw::FW_SERIALIZE_OK) {
215  return status;
216  }
217  status = buffer.deserializeTo(this->m_sequenceFlags, mode);
218  if (status != Fw::FW_SERIALIZE_OK) {
219  return status;
220  }
221  status = buffer.deserializeTo(this->m_sequenceCount, mode);
222  if (status != Fw::FW_SERIALIZE_OK) {
223  return status;
224  }
225  status = buffer.deserializeTo(this->m_vcId, mode);
226  if (status != Fw::FW_SERIALIZE_OK) {
227  return status;
228  }
229  status = buffer.deserializeTo(this->m_pvn, mode);
230  if (status != Fw::FW_SERIALIZE_OK) {
231  return status;
232  }
233  status = buffer.deserializeTo(this->m_sendNow, mode);
234  if (status != Fw::FW_SERIALIZE_OK) {
235  return status;
236  }
237  status = buffer.deserializeTo(this->m_saIndex, mode);
238  if (status != Fw::FW_SERIALIZE_OK) {
239  return status;
240  }
241  status = buffer.deserializeTo(this->m_firstHeaderPointer, mode);
242  if (status != Fw::FW_SERIALIZE_OK) {
243  return status;
244  }
245 
246  return status;
247  }
248 
251  {
252  FwSizeType size = 0;
253  size += sizeof(FwIndexType);
256  size += sizeof(U8);
257  size += sizeof(U8);
258  size += sizeof(U16);
259  size += sizeof(U8);
261  size += sizeof(U8);
262  size += sizeof(U16);
263  size += sizeof(U16);
264  return size;
265  }
266 
267 #if FW_SERIALIZABLE_TO_STRING
268 
269  void FrameContext ::
270  toString(Fw::StringBase& sb) const
271  {
272  Fw::String tmp;
273  sb = "( ";
274 
275  // Format comQueueIndex
276  sb += "comQueueIndex = ";
277  tmp.format("%" PRIi16 "", this->m_comQueueIndex);
278  sb += tmp;
279  sb += ", ";
280 
281  // Format apid
282  sb += "apid = ";
283  this->m_apid.toString(tmp);
284  sb += tmp;
285  sb += ", ";
286 
287  // Format pktType
288  sb += "pktType = ";
289  this->m_pktType.toString(tmp);
290  sb += tmp;
291  sb += ", ";
292 
293  // Format hasSecHdr
294  sb += "hasSecHdr = ";
295  tmp.format("%d", this->m_hasSecHdr);
296  sb += tmp;
297  sb += ", ";
298 
299  // Format sequenceFlags
300  sb += "sequenceFlags = ";
301  tmp.format("%" PRIu8 "", this->m_sequenceFlags);
302  sb += tmp;
303  sb += ", ";
304 
305  // Format sequenceCount
306  sb += "sequenceCount = ";
307  tmp.format("%" PRIu16 "", this->m_sequenceCount);
308  sb += tmp;
309  sb += ", ";
310 
311  // Format vcId
312  sb += "vcId = ";
313  tmp.format("%" PRIu8 "", this->m_vcId);
314  sb += tmp;
315  sb += ", ";
316 
317  // Format pvn
318  sb += "pvn = ";
319  this->m_pvn.toString(tmp);
320  sb += tmp;
321  sb += ", ";
322 
323  // Format sendNow
324  sb += "sendNow = ";
325  tmp.format("%d", this->m_sendNow);
326  sb += tmp;
327  sb += ", ";
328 
329  // Format saIndex
330  sb += "saIndex = ";
331  tmp.format("%" PRIu16 "", this->m_saIndex);
332  sb += tmp;
333  sb += ", ";
334 
335  // Format firstHeaderPointer
336  sb += "firstHeaderPointer = ";
337  tmp.format("%" PRIu16 "", this->m_firstHeaderPointer);
338  sb += tmp;
339  sb += " )";
340  }
341 
342 #endif
343 
344  // ----------------------------------------------------------------------
345  // Setter functions
346  // ----------------------------------------------------------------------
347 
348  void FrameContext ::
350  FwIndexType comQueueIndex,
351  ComCfg::Apid::T apid,
352  ComCfg::SppPacketType::T pktType,
353  bool hasSecHdr,
354  U8 sequenceFlags,
355  U16 sequenceCount,
356  U8 vcId,
357  ComCfg::Pvn::T pvn,
358  bool sendNow,
359  U16 saIndex,
360  U16 firstHeaderPointer
361  )
362  {
363  this->m_comQueueIndex = comQueueIndex;
364  this->m_apid = apid;
365  this->m_pktType = pktType;
366  this->m_hasSecHdr = hasSecHdr;
367  this->m_sequenceFlags = sequenceFlags;
368  this->m_sequenceCount = sequenceCount;
369  this->m_vcId = vcId;
370  this->m_pvn = pvn;
371  this->m_sendNow = sendNow;
372  this->m_saIndex = saIndex;
373  this->m_firstHeaderPointer = firstHeaderPointer;
374  }
375 
376  void FrameContext ::
378  {
379  this->m_comQueueIndex = comQueueIndex;
380  }
381 
382  void FrameContext ::
384  {
385  this->m_apid = apid;
386  }
387 
388  void FrameContext ::
390  {
391  this->m_pktType = pktType;
392  }
393 
394  void FrameContext ::
395  set_hasSecHdr(bool hasSecHdr)
396  {
397  this->m_hasSecHdr = hasSecHdr;
398  }
399 
400  void FrameContext ::
401  set_sequenceFlags(U8 sequenceFlags)
402  {
403  this->m_sequenceFlags = sequenceFlags;
404  }
405 
406  void FrameContext ::
407  set_sequenceCount(U16 sequenceCount)
408  {
409  this->m_sequenceCount = sequenceCount;
410  }
411 
412  void FrameContext ::
414  {
415  this->m_vcId = vcId;
416  }
417 
418  void FrameContext ::
420  {
421  this->m_pvn = pvn;
422  }
423 
424  void FrameContext ::
425  set_sendNow(bool sendNow)
426  {
427  this->m_sendNow = sendNow;
428  }
429 
430  void FrameContext ::
431  set_saIndex(U16 saIndex)
432  {
433  this->m_saIndex = saIndex;
434  }
435 
436  void FrameContext ::
437  set_firstHeaderPointer(U16 firstHeaderPointer)
438  {
439  this->m_firstHeaderPointer = firstHeaderPointer;
440  }
441 
442 }
Serialization/Deserialization operation was successful.
FrameContext()
Constructor (default value)
PlatformSizeType FwSizeType
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
void set_hasSecHdr(bool hasSecHdr)
Set member hasSecHdr.
T
The raw enum type.
Definition: PvnEnumAc.hpp:32
void set_apid(ComCfg::Apid::T apid)
Set member apid.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
The size of the serial representation.
Definition: ApidEnumAc.hpp:70
void set_sendNow(bool sendNow)
Set member sendNow.
bool operator!=(const FrameContext &obj) const
Inequality operator.
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
void set_sequenceFlags(U8 sequenceFlags)
Set member sequenceFlags.
The size of the serial representation.
T
The raw enum type.
Definition: ApidEnumAc.hpp:32
void set_sequenceCount(U16 sequenceCount)
Set member sequenceCount.
void set(FwIndexType comQueueIndex, ComCfg::Apid::T apid, ComCfg::SppPacketType::T pktType, bool hasSecHdr, U8 sequenceFlags, U16 sequenceCount, U8 vcId, ComCfg::Pvn::T pvn, bool sendNow, U16 saIndex, U16 firstHeaderPointer)
Set all members.
void set_pvn(ComCfg::Pvn::T pvn)
Set member pvn.
const char * toChar() const
Convert to a C-style char*.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:58
void set_vcId(U8 vcId)
Set member vcId.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:54
bool operator==(const FrameContext &obj) const
Equality operator.
void set_comQueueIndex(FwIndexType comQueueIndex)
Set member comQueueIndex.
void set_saIndex(U16 saIndex)
Set member saIndex.
PlatformIndexType FwIndexType
Type used to pass context info between components during framing/deframing.
The size of the serial representation.
Definition: PvnEnumAc.hpp:52
Endianness
void set_firstHeaderPointer(U16 firstHeaderPointer)
Set member firstHeaderPointer.
void set_pktType(ComCfg::SppPacketType::T pktType)
Set member pktType.
APIDs are 11 bits in the Space Packet protocol, so we use U16. Max value 7FF.
Definition: ApidEnumAc.hpp:18
FrameContext & operator=(const FrameContext &obj)
Copy assignment operator.