F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
HeaderSerializableAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title HeaderSerializableAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for Header struct
5 // ======================================================================
6 
7 #ifndef Svc_Fpy_HeaderSerializableAc_HPP
8 #define Svc_Fpy_HeaderSerializableAc_HPP
9 
10 #include "Fw/FPrimeBasicTypes.hpp"
13 #include "Fw/Types/String.hpp"
14 
15 namespace Svc {
16 
17  namespace Fpy {
18 
19  class Header :
20  public Fw::Serializable
21  {
22 
23  public:
24 
25  // ----------------------------------------------------------------------
26  // Constants
27  // ----------------------------------------------------------------------
28 
29  enum {
32  sizeof(U8) +
33  sizeof(U8) +
34  sizeof(U8) +
35  sizeof(U8) +
36  sizeof(U8) +
37  sizeof(U16) +
38  sizeof(U32)
39  };
40 
41  public:
42 
43  // ----------------------------------------------------------------------
44  // Constructors
45  // ----------------------------------------------------------------------
46 
48  Header();
49 
51  Header(
52  U8 majorVersion,
53  U8 minorVersion,
54  U8 patchVersion,
55  U8 schemaVersion,
56  U8 argumentCount,
57  U16 statementCount,
58  U32 bodySize
59  );
60 
62  Header(
63  const Header& obj
64  );
65 
66  public:
67 
68  // ----------------------------------------------------------------------
69  // Operators
70  // ----------------------------------------------------------------------
71 
74  const Header& obj
75  );
76 
78  bool operator==(
79  const Header& obj
80  ) const;
81 
83  bool operator!=(
84  const Header& obj
85  ) const;
86 
87 #ifdef BUILD_UT
88 
90  friend std::ostream& operator<<(
91  std::ostream& os,
92  const Header& obj
93  );
94 
95 #endif
96 
97  public:
98 
99  // ----------------------------------------------------------------------
100  // Member functions
101  // ----------------------------------------------------------------------
102 
105  Fw::SerializeBufferBase& buffer,
107  ) const;
108 
111  Fw::SerializeBufferBase& buffer,
113  );
114 
116  FwSizeType serializedSize() const;
117 
118 #if FW_SERIALIZABLE_TO_STRING
119 
121  void toString(
122  Fw::StringBase& sb
123  ) const;
124 
125 #endif
126 
127  // ----------------------------------------------------------------------
128  // Getter functions
129  // ----------------------------------------------------------------------
130 
133  {
134  return this->m_majorVersion;
135  }
136 
139  {
140  return this->m_minorVersion;
141  }
142 
145  {
146  return this->m_patchVersion;
147  }
148 
151  {
152  return this->m_schemaVersion;
153  }
154 
157  {
158  return this->m_argumentCount;
159  }
160 
162  U16 get_statementCount() const
163  {
164  return this->m_statementCount;
165  }
166 
168  U32 get_bodySize() const
169  {
170  return this->m_bodySize;
171  }
172 
173  // ----------------------------------------------------------------------
174  // Setter functions
175  // ----------------------------------------------------------------------
176 
178  void set(
179  U8 majorVersion,
180  U8 minorVersion,
181  U8 patchVersion,
182  U8 schemaVersion,
183  U8 argumentCount,
184  U16 statementCount,
185  U32 bodySize
186  );
187 
189  void set_majorVersion(U8 majorVersion);
190 
192  void set_minorVersion(U8 minorVersion);
193 
195  void set_patchVersion(U8 patchVersion);
196 
198  void set_schemaVersion(U8 schemaVersion);
199 
201  void set_argumentCount(U8 argumentCount);
202 
204  void set_statementCount(U16 statementCount);
205 
207  void set_bodySize(U32 bodySize);
208 
209  protected:
210 
211  // ----------------------------------------------------------------------
212  // Member variables
213  // ----------------------------------------------------------------------
214 
222 
223  };
224 
225  }
226 
227 }
228 
229 #endif
void set_statementCount(U16 statementCount)
Set member statementCount.
void set_bodySize(U32 bodySize)
Set member bodySize.
void set_patchVersion(U8 patchVersion)
Set member patchVersion.
U16 get_statementCount() const
Get member statementCount.
bool operator!=(const Header &obj) const
Inequality operator.
PlatformSizeType FwSizeType
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
U8 get_patchVersion() const
Get member patchVersion.
void set_argumentCount(U8 argumentCount)
Set member argumentCount.
void set_schemaVersion(U8 schemaVersion)
Set member schemaVersion.
void set_minorVersion(U8 minorVersion)
Set member minorVersion.
SerializeStatus
forward declaration for string
U8 get_majorVersion() const
Get member majorVersion.
U8 get_schemaVersion() const
Get member schemaVersion.
U8 get_minorVersion() const
Get member minorVersion.
U32 get_bodySize() const
Get member bodySize.
Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
bool operator==(const Header &obj) const
Equality operator.
Header()
Constructor (default value)
U8 get_argumentCount() const
Get member argumentCount.
RateGroupDivider component implementation.
The size of the serial representation.
Header & operator=(const Header &obj)
Copy assignment operator.
Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
Endianness
void set_majorVersion(U8 majorVersion)
Set member majorVersion.
Big endian serialization.