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_hasSecHdr(),
22  m_sequenceFlags(3),
23  m_sequenceCount(),
24  m_vcId(1),
25  m_pvn(),
26  m_sendNow(),
27  m_saIndex(65535)
28  {
29 
30  }
31 
34  FwIndexType comQueueIndex,
35  ComCfg::Apid::T apid,
36  bool hasSecHdr,
37  U8 sequenceFlags,
38  U16 sequenceCount,
39  U8 vcId,
40  ComCfg::Pvn::T pvn,
41  bool sendNow,
42  U16 saIndex
43  ) :
44  Serializable(),
45  m_comQueueIndex(comQueueIndex),
46  m_apid(apid),
47  m_hasSecHdr(hasSecHdr),
48  m_sequenceFlags(sequenceFlags),
49  m_sequenceCount(sequenceCount),
50  m_vcId(vcId),
51  m_pvn(pvn),
52  m_sendNow(sendNow),
53  m_saIndex(saIndex)
54  {
55 
56  }
57 
60  Serializable(),
61  m_comQueueIndex(obj.m_comQueueIndex),
62  m_apid(obj.m_apid),
63  m_hasSecHdr(obj.m_hasSecHdr),
64  m_sequenceFlags(obj.m_sequenceFlags),
65  m_sequenceCount(obj.m_sequenceCount),
66  m_vcId(obj.m_vcId),
67  m_pvn(obj.m_pvn),
68  m_sendNow(obj.m_sendNow),
69  m_saIndex(obj.m_saIndex)
70  {
71 
72  }
73 
74  // ----------------------------------------------------------------------
75  // Operators
76  // ----------------------------------------------------------------------
77 
80  {
81  if (this == &obj) {
82  return *this;
83  }
84 
85  set(obj.m_comQueueIndex, obj.m_apid, obj.m_hasSecHdr, obj.m_sequenceFlags, obj.m_sequenceCount, obj.m_vcId, obj.m_pvn, obj.m_sendNow, obj.m_saIndex);
86  return *this;
87  }
88 
89  bool FrameContext ::
90  operator==(const FrameContext& obj) const
91  {
92  if (this == &obj) { return true; }
93  return (
94  (this->m_comQueueIndex == obj.m_comQueueIndex) &&
95  (this->m_apid == obj.m_apid) &&
96  (this->m_hasSecHdr == obj.m_hasSecHdr) &&
97  (this->m_sequenceFlags == obj.m_sequenceFlags) &&
98  (this->m_sequenceCount == obj.m_sequenceCount) &&
99  (this->m_vcId == obj.m_vcId) &&
100  (this->m_pvn == obj.m_pvn) &&
101  (this->m_sendNow == obj.m_sendNow) &&
102  (this->m_saIndex == obj.m_saIndex)
103  );
104  }
105 
106  bool FrameContext ::
107  operator!=(const FrameContext& obj) const
108  {
109  return !(*this == obj);
110  }
111 
112 #ifdef BUILD_UT
113 
114  std::ostream& operator<<(std::ostream& os, const FrameContext& obj) {
115  Fw::String s;
116  obj.toString(s);
117  os << s.toChar();
118  return os;
119  }
120 
121 #endif
122 
123  // ----------------------------------------------------------------------
124  // Member functions
125  // ----------------------------------------------------------------------
126 
129  Fw::SerialBufferBase& buffer,
130  Fw::Endianness mode
131  ) const
132  {
133  Fw::SerializeStatus status;
134 
135  status = buffer.serializeFrom(this->m_comQueueIndex, mode);
136  if (status != Fw::FW_SERIALIZE_OK) {
137  return status;
138  }
139  status = buffer.serializeFrom(this->m_apid, mode);
140  if (status != Fw::FW_SERIALIZE_OK) {
141  return status;
142  }
143  status = buffer.serializeFrom(this->m_hasSecHdr, mode);
144  if (status != Fw::FW_SERIALIZE_OK) {
145  return status;
146  }
147  status = buffer.serializeFrom(this->m_sequenceFlags, mode);
148  if (status != Fw::FW_SERIALIZE_OK) {
149  return status;
150  }
151  status = buffer.serializeFrom(this->m_sequenceCount, mode);
152  if (status != Fw::FW_SERIALIZE_OK) {
153  return status;
154  }
155  status = buffer.serializeFrom(this->m_vcId, mode);
156  if (status != Fw::FW_SERIALIZE_OK) {
157  return status;
158  }
159  status = buffer.serializeFrom(this->m_pvn, mode);
160  if (status != Fw::FW_SERIALIZE_OK) {
161  return status;
162  }
163  status = buffer.serializeFrom(this->m_sendNow, mode);
164  if (status != Fw::FW_SERIALIZE_OK) {
165  return status;
166  }
167  status = buffer.serializeFrom(this->m_saIndex, mode);
168  if (status != Fw::FW_SERIALIZE_OK) {
169  return status;
170  }
171 
172  return status;
173  }
174 
177  Fw::SerialBufferBase& buffer,
178  Fw::Endianness mode
179  )
180  {
181  Fw::SerializeStatus status;
182 
183  status = buffer.deserializeTo(this->m_comQueueIndex, mode);
184  if (status != Fw::FW_SERIALIZE_OK) {
185  return status;
186  }
187  status = buffer.deserializeTo(this->m_apid, mode);
188  if (status != Fw::FW_SERIALIZE_OK) {
189  return status;
190  }
191  status = buffer.deserializeTo(this->m_hasSecHdr, mode);
192  if (status != Fw::FW_SERIALIZE_OK) {
193  return status;
194  }
195  status = buffer.deserializeTo(this->m_sequenceFlags, mode);
196  if (status != Fw::FW_SERIALIZE_OK) {
197  return status;
198  }
199  status = buffer.deserializeTo(this->m_sequenceCount, mode);
200  if (status != Fw::FW_SERIALIZE_OK) {
201  return status;
202  }
203  status = buffer.deserializeTo(this->m_vcId, mode);
204  if (status != Fw::FW_SERIALIZE_OK) {
205  return status;
206  }
207  status = buffer.deserializeTo(this->m_pvn, mode);
208  if (status != Fw::FW_SERIALIZE_OK) {
209  return status;
210  }
211  status = buffer.deserializeTo(this->m_sendNow, mode);
212  if (status != Fw::FW_SERIALIZE_OK) {
213  return status;
214  }
215  status = buffer.deserializeTo(this->m_saIndex, mode);
216  if (status != Fw::FW_SERIALIZE_OK) {
217  return status;
218  }
219 
220  return status;
221  }
222 
225  {
226  FwSizeType size = 0;
227  size += sizeof(FwIndexType);
229  size += sizeof(U8);
230  size += sizeof(U8);
231  size += sizeof(U16);
232  size += sizeof(U8);
234  size += sizeof(U8);
235  size += sizeof(U16);
236  return size;
237  }
238 
239 #if FW_SERIALIZABLE_TO_STRING
240 
241  void FrameContext ::
242  toString(Fw::StringBase& sb) const
243  {
244  Fw::String tmp;
245  sb = "( ";
246 
247  // Format comQueueIndex
248  sb += "comQueueIndex = ";
249  tmp.format("%" PRIi16 "", this->m_comQueueIndex);
250  sb += tmp;
251  sb += ", ";
252 
253  // Format apid
254  sb += "apid = ";
255  this->m_apid.toString(tmp);
256  sb += tmp;
257  sb += ", ";
258 
259  // Format hasSecHdr
260  sb += "hasSecHdr = ";
261  tmp.format("%d", this->m_hasSecHdr);
262  sb += tmp;
263  sb += ", ";
264 
265  // Format sequenceFlags
266  sb += "sequenceFlags = ";
267  tmp.format("%" PRIu8 "", this->m_sequenceFlags);
268  sb += tmp;
269  sb += ", ";
270 
271  // Format sequenceCount
272  sb += "sequenceCount = ";
273  tmp.format("%" PRIu16 "", this->m_sequenceCount);
274  sb += tmp;
275  sb += ", ";
276 
277  // Format vcId
278  sb += "vcId = ";
279  tmp.format("%" PRIu8 "", this->m_vcId);
280  sb += tmp;
281  sb += ", ";
282 
283  // Format pvn
284  sb += "pvn = ";
285  this->m_pvn.toString(tmp);
286  sb += tmp;
287  sb += ", ";
288 
289  // Format sendNow
290  sb += "sendNow = ";
291  tmp.format("%d", this->m_sendNow);
292  sb += tmp;
293  sb += ", ";
294 
295  // Format saIndex
296  sb += "saIndex = ";
297  tmp.format("%" PRIu16 "", this->m_saIndex);
298  sb += tmp;
299  sb += " )";
300  }
301 
302 #endif
303 
304  // ----------------------------------------------------------------------
305  // Setter functions
306  // ----------------------------------------------------------------------
307 
308  void FrameContext ::
310  FwIndexType comQueueIndex,
311  ComCfg::Apid::T apid,
312  bool hasSecHdr,
313  U8 sequenceFlags,
314  U16 sequenceCount,
315  U8 vcId,
316  ComCfg::Pvn::T pvn,
317  bool sendNow,
318  U16 saIndex
319  )
320  {
321  this->m_comQueueIndex = comQueueIndex;
322  this->m_apid = apid;
323  this->m_hasSecHdr = hasSecHdr;
324  this->m_sequenceFlags = sequenceFlags;
325  this->m_sequenceCount = sequenceCount;
326  this->m_vcId = vcId;
327  this->m_pvn = pvn;
328  this->m_sendNow = sendNow;
329  this->m_saIndex = saIndex;
330  }
331 
332  void FrameContext ::
334  {
335  this->m_comQueueIndex = comQueueIndex;
336  }
337 
338  void FrameContext ::
340  {
341  this->m_apid = apid;
342  }
343 
344  void FrameContext ::
345  set_hasSecHdr(bool hasSecHdr)
346  {
347  this->m_hasSecHdr = hasSecHdr;
348  }
349 
350  void FrameContext ::
351  set_sequenceFlags(U8 sequenceFlags)
352  {
353  this->m_sequenceFlags = sequenceFlags;
354  }
355 
356  void FrameContext ::
357  set_sequenceCount(U16 sequenceCount)
358  {
359  this->m_sequenceCount = sequenceCount;
360  }
361 
362  void FrameContext ::
364  {
365  this->m_vcId = vcId;
366  }
367 
368  void FrameContext ::
370  {
371  this->m_pvn = pvn;
372  }
373 
374  void FrameContext ::
375  set_sendNow(bool sendNow)
376  {
377  this->m_sendNow = sendNow;
378  }
379 
380  void FrameContext ::
381  set_saIndex(U16 saIndex)
382  {
383  this->m_saIndex = saIndex;
384  }
385 
386 }
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.
void set(FwIndexType comQueueIndex, ComCfg::Apid::T apid, bool hasSecHdr, U8 sequenceFlags, U16 sequenceCount, U8 vcId, ComCfg::Pvn::T pvn, bool sendNow, U16 saIndex)
Set all members.
T
The raw enum type.
Definition: ApidEnumAc.hpp:32
void set_sequenceCount(U16 sequenceCount)
Set member sequenceCount.
The size of the serial representation.
Definition: PvnEnumAc.hpp:52
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.
Endianness
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.