F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
CustomVersionDbSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title CustomVersionDbSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for CustomVersionDb struct
5 // ======================================================================
6 
7 #include "Fw/Types/Assert.hpp"
9 
10 namespace Svc {
11 
12  // ----------------------------------------------------------------------
13  // Constructors
14  // ----------------------------------------------------------------------
15 
18  Serializable(),
19  m_version_enum(Svc::VersionCfg::VersionEnum::PROJECT_VERSION_00),
20  m_version_value(m___fprime_ac_version_value_buffer, sizeof m___fprime_ac_version_value_buffer, Fw::String("")),
21  m_version_status(Svc::VersionStatus::OK)
22  {
23 
24  }
25 
29  const Fw::StringBase& version_value,
30  Svc::VersionStatus::T version_status
31  ) :
32  Serializable(),
33  m_version_enum(version_enum),
34  m_version_value(m___fprime_ac_version_value_buffer, sizeof m___fprime_ac_version_value_buffer, version_value),
35  m_version_status(version_status)
36  {
37 
38  }
39 
42  Serializable(),
43  m_version_enum(obj.m_version_enum),
44  m_version_value(m___fprime_ac_version_value_buffer, sizeof m___fprime_ac_version_value_buffer, obj.m_version_value),
45  m_version_status(obj.m_version_status)
46  {
47 
48  }
49 
50  // ----------------------------------------------------------------------
51  // Operators
52  // ----------------------------------------------------------------------
53 
56  {
57  if (this == &obj) {
58  return *this;
59  }
60 
62  return *this;
63  }
64 
66  operator==(const CustomVersionDb& obj) const
67  {
68  if (this == &obj) { return true; }
69  return (
70  (this->m_version_enum == obj.m_version_enum) &&
71  (this->m_version_value == obj.m_version_value) &&
72  (this->m_version_status == obj.m_version_status)
73  );
74  }
75 
77  operator!=(const CustomVersionDb& obj) const
78  {
79  return !(*this == obj);
80  }
81 
82 #ifdef BUILD_UT
83 
84  std::ostream& operator<<(std::ostream& os, const CustomVersionDb& obj) {
85  Fw::String s;
86  obj.toString(s);
87  os << s.toChar();
88  return os;
89  }
90 
91 #endif
92 
93  // ----------------------------------------------------------------------
94  // Member functions
95  // ----------------------------------------------------------------------
96 
99  Fw::SerialBufferBase& buffer,
100  Fw::Endianness mode
101  ) const
102  {
103  Fw::SerializeStatus status;
104 
105  status = buffer.serializeFrom(this->m_version_enum, mode);
106  if (status != Fw::FW_SERIALIZE_OK) {
107  return status;
108  }
109  status = buffer.serializeFrom(this->m_version_value, mode);
110  if (status != Fw::FW_SERIALIZE_OK) {
111  return status;
112  }
113  status = buffer.serializeFrom(this->m_version_status, mode);
114  if (status != Fw::FW_SERIALIZE_OK) {
115  return status;
116  }
117 
118  return status;
119  }
120 
123  Fw::SerialBufferBase& buffer,
124  Fw::Endianness mode
125  )
126  {
127  Fw::SerializeStatus status;
128 
129  status = buffer.deserializeTo(this->m_version_enum, mode);
130  if (status != Fw::FW_SERIALIZE_OK) {
131  return status;
132  }
133  status = buffer.deserializeTo(this->m_version_value, mode);
134  if (status != Fw::FW_SERIALIZE_OK) {
135  return status;
136  }
137  status = buffer.deserializeTo(this->m_version_status, mode);
138  if (status != Fw::FW_SERIALIZE_OK) {
139  return status;
140  }
141 
142  return status;
143  }
144 
147  {
148  FwSizeType size = 0;
150  size += this->m_version_value.serializedSize();
152  return size;
153  }
154 
155 #if FW_SERIALIZABLE_TO_STRING
156 
157  void CustomVersionDb ::
158  toString(Fw::StringBase& sb) const
159  {
160  Fw::String tmp;
161  sb = "( ";
162 
163  // Format version_enum
164  sb += "version_enum = ";
165  this->m_version_enum.toString(tmp);
166  sb += tmp;
167  sb += ", ";
168 
169  // Format version_value
170  sb += "version_value = ";
171  sb += this->m_version_value;
172  sb += ", ";
173 
174  // Format version_status
175  sb += "version_status = ";
176  this->m_version_status.toString(tmp);
177  sb += tmp;
178  sb += " )";
179  }
180 
181 #endif
182 
183  // ----------------------------------------------------------------------
184  // Setter functions
185  // ----------------------------------------------------------------------
186 
187  void CustomVersionDb ::
189  Svc::VersionCfg::VersionEnum::T version_enum,
190  const Fw::StringBase& version_value,
191  Svc::VersionStatus::T version_status
192  )
193  {
194  this->m_version_enum = version_enum;
195  this->m_version_value = version_value;
196  this->m_version_status = version_status;
197  }
198 
199  void CustomVersionDb ::
201  {
202  this->m_version_enum = version_enum;
203  }
204 
205  void CustomVersionDb ::
206  set_version_value(const Fw::StringBase& version_value)
207  {
208  this->m_version_value = version_value;
209  }
210 
211  void CustomVersionDb ::
213  {
214  this->m_version_status = version_status;
215  }
216 
217 }
Serialization/Deserialization operation was successful.
void set_version_value(const Fw::StringBase &version_value)
Set member version_value.
CustomVersionDb & operator=(const CustomVersionDb &obj)
Copy assignment operator.
void set_version_status(Svc::VersionStatus::T version_status)
Set member version_status.
PlatformSizeType FwSizeType
The size of the serial representation.
const char * toChar() const
Convert to a C-style char*.
Definition: String.hpp:50
void set(Svc::VersionCfg::VersionEnum::T version_enum, const Fw::StringBase &version_value, Svc::VersionStatus::T version_status)
Set all members.
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
SerializeStatus
forward declaration for string
SizeType serializedSize() const
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
An enumeration for version status.
void set_version_enum(Svc::VersionCfg::VersionEnum::T version_enum)
Set member version_enum.
T
The raw enum type.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
bool operator==(const CustomVersionDb &obj) const
Equality operator.
The size of the serial representation.
Data Structure for custom version Tlm.
CustomVersionDb()
Constructor (default value)
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
bool operator!=(const CustomVersionDb &obj) const
Inequality operator.
RateGroupDivider component implementation.
Implementation of malloc based allocator.
Endianness
Svc::VersionCfg::VersionEnum m_version_enum
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.