F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
FrameHeaderSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title FrameHeaderSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for FrameHeader struct
5 // ======================================================================
6 
7 #include "Fw/Types/Assert.hpp"
9 
10 namespace Svc {
11 
12  namespace FprimeProtocol {
13 
14  // ----------------------------------------------------------------------
15  // Constructors
16  // ----------------------------------------------------------------------
17 
20  Serializable(),
21  m_startWord(3735928559),
22  m_lengthField(0)
23  {
24 
25  }
26 
31  ) :
32  Serializable(),
33  m_startWord(startWord),
34  m_lengthField(lengthField)
35  {
36 
37  }
38 
41  Serializable(),
42  m_startWord(obj.m_startWord),
43  m_lengthField(obj.m_lengthField)
44  {
45 
46  }
47 
48  // ----------------------------------------------------------------------
49  // Operators
50  // ----------------------------------------------------------------------
51 
54  {
55  if (this == &obj) {
56  return *this;
57  }
58 
59  set(obj.m_startWord, obj.m_lengthField);
60  return *this;
61  }
62 
63  bool FrameHeader ::
64  operator==(const FrameHeader& obj) const
65  {
66  if (this == &obj) { return true; }
67  return (
68  (this->m_startWord == obj.m_startWord) &&
69  (this->m_lengthField == obj.m_lengthField)
70  );
71  }
72 
73  bool FrameHeader ::
74  operator!=(const FrameHeader& obj) const
75  {
76  return !(*this == obj);
77  }
78 
79 #ifdef BUILD_UT
80 
81  std::ostream& operator<<(std::ostream& os, const FrameHeader& obj) {
82  Fw::String s;
83  obj.toString(s);
84  os << s.toChar();
85  return os;
86  }
87 
88 #endif
89 
90  // ----------------------------------------------------------------------
91  // Member functions
92  // ----------------------------------------------------------------------
93 
96  Fw::SerialBufferBase& buffer,
97  Fw::Endianness mode
98  ) const
99  {
100  Fw::SerializeStatus status;
101 
102  status = buffer.serializeFrom(this->m_startWord, mode);
103  if (status != Fw::FW_SERIALIZE_OK) {
104  return status;
105  }
106  status = buffer.serializeFrom(this->m_lengthField, mode);
107  if (status != Fw::FW_SERIALIZE_OK) {
108  return status;
109  }
110 
111  return status;
112  }
113 
116  Fw::SerialBufferBase& buffer,
117  Fw::Endianness mode
118  )
119  {
120  Fw::SerializeStatus status;
121 
122  status = buffer.deserializeTo(this->m_startWord, mode);
123  if (status != Fw::FW_SERIALIZE_OK) {
124  return status;
125  }
126  status = buffer.deserializeTo(this->m_lengthField, mode);
127  if (status != Fw::FW_SERIALIZE_OK) {
128  return status;
129  }
130 
131  return status;
132  }
133 
136  {
137  FwSizeType size = 0;
138  size += sizeof(Svc::FprimeProtocol::TokenType);
139  size += sizeof(Svc::FprimeProtocol::TokenType);
140  return size;
141  }
142 
143 #if FW_SERIALIZABLE_TO_STRING
144 
145  void FrameHeader ::
146  toString(Fw::StringBase& sb) const
147  {
148  Fw::String tmp;
149  sb = "( ";
150 
151  // Format startWord
152  sb += "startWord = ";
153  tmp.format("%" PRIu32 "", this->m_startWord);
154  sb += tmp;
155  sb += ", ";
156 
157  // Format lengthField
158  sb += "lengthField = ";
159  tmp.format("%" PRIu32 "", this->m_lengthField);
160  sb += tmp;
161  sb += " )";
162  }
163 
164 #endif
165 
166  // ----------------------------------------------------------------------
167  // Setter functions
168  // ----------------------------------------------------------------------
169 
170  void FrameHeader ::
174  )
175  {
176  this->m_startWord = startWord;
177  this->m_lengthField = lengthField;
178  }
179 
180  void FrameHeader ::
182  {
183  this->m_startWord = startWord;
184  }
185 
186  void FrameHeader ::
188  {
189  this->m_lengthField = lengthField;
190  }
191 
192  }
193 
194 }
Serialization/Deserialization operation was successful.
void set_startWord(Svc::FprimeProtocol::TokenType startWord)
Set member startWord.
PlatformSizeType FwSizeType
const char * toChar() const
Convert to a C-style char*.
Definition: String.hpp:50
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
Svc::FprimeProtocol::TokenType m_startWord
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
Svc::FprimeProtocol::TokenType m_lengthField
Describes the frame header format for the F Prime communications protocol.
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
bool operator!=(const FrameHeader &obj) const
Inequality operator.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:39
bool operator==(const FrameHeader &obj) const
Equality operator.
FrameHeader & operator=(const FrameHeader &obj)
Copy assignment operator.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
RateGroupDivider component implementation.
FrameHeader()
Constructor (default value)
Endianness
void set(Svc::FprimeProtocol::TokenType startWord, Svc::FprimeProtocol::TokenType lengthField)
Set all members.
void set_lengthField(Svc::FprimeProtocol::TokenType lengthField)
Set member lengthField.