F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
PacketOverrideConfigSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title PacketOverrideConfigSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for PacketOverrideConfig struct
5 // ======================================================================
6 
7 #include "Fw/Types/Assert.hpp"
9 
10 namespace Svc {
11 
12  // ----------------------------------------------------------------------
13  // Constructors
14  // ----------------------------------------------------------------------
15 
18  Serializable(),
19  m_overrideType(),
20  m_sendConfig()
21  {
22 
23  }
24 
27  Svc::PacketOverrideType::T overrideType,
28  const Svc::TlmSendConfig& sendConfig
29  ) :
30  Serializable(),
31  m_overrideType(overrideType),
32  m_sendConfig(sendConfig)
33  {
34 
35  }
36 
39  Serializable(),
40  m_overrideType(obj.m_overrideType),
41  m_sendConfig(obj.m_sendConfig)
42  {
43 
44  }
45 
46  // ----------------------------------------------------------------------
47  // Operators
48  // ----------------------------------------------------------------------
49 
52  {
53  if (this == &obj) {
54  return *this;
55  }
56 
57  set(obj.m_overrideType, obj.m_sendConfig);
58  return *this;
59  }
60 
63  {
64  if (this == &obj) { return true; }
65  return (
66  (this->m_overrideType == obj.m_overrideType) &&
67  (this->m_sendConfig == obj.m_sendConfig)
68  );
69  }
70 
73  {
74  return !(*this == obj);
75  }
76 
77 #ifdef BUILD_UT
78 
79  std::ostream& operator<<(std::ostream& os, const PacketOverrideConfig& obj) {
80  Fw::String s;
81  obj.toString(s);
82  os << s.toChar();
83  return os;
84  }
85 
86 #endif
87 
88  // ----------------------------------------------------------------------
89  // Member functions
90  // ----------------------------------------------------------------------
91 
94  Fw::SerialBufferBase& buffer,
95  Fw::Endianness mode
96  ) const
97  {
98  Fw::SerializeStatus status;
99 
100  status = buffer.serializeFrom(this->m_overrideType, mode);
101  if (status != Fw::FW_SERIALIZE_OK) {
102  return status;
103  }
104  status = buffer.serializeFrom(this->m_sendConfig, mode);
105  if (status != Fw::FW_SERIALIZE_OK) {
106  return status;
107  }
108 
109  return status;
110  }
111 
114  Fw::SerialBufferBase& buffer,
115  Fw::Endianness mode
116  )
117  {
118  Fw::SerializeStatus status;
119 
120  status = buffer.deserializeTo(this->m_overrideType, mode);
121  if (status != Fw::FW_SERIALIZE_OK) {
122  return status;
123  }
124  status = buffer.deserializeTo(this->m_sendConfig, mode);
125  if (status != Fw::FW_SERIALIZE_OK) {
126  return status;
127  }
128 
129  return status;
130  }
131 
134  {
135  FwSizeType size = 0;
137  size += this->m_sendConfig.serializedSize();
138  return size;
139  }
140 
141 #if FW_SERIALIZABLE_TO_STRING
142 
143  void PacketOverrideConfig ::
144  toString(Fw::StringBase& sb) const
145  {
146  Fw::String tmp;
147  sb = "( ";
148 
149  // Format overrideType
150  sb += "overrideType = ";
151  this->m_overrideType.toString(tmp);
152  sb += tmp;
153  sb += ", ";
154 
155  // Format sendConfig
156  sb += "sendConfig = ";
157  this->m_sendConfig.toString(tmp);
158  sb += tmp;
159  sb += " )";
160  }
161 
162 #endif
163 
164  // ----------------------------------------------------------------------
165  // Setter functions
166  // ----------------------------------------------------------------------
167 
170  Svc::PacketOverrideType::T overrideType,
171  const Svc::TlmSendConfig& sendConfig
172  )
173  {
174  this->m_overrideType = overrideType;
175  this->m_sendConfig = sendConfig;
176  }
177 
180  {
181  this->m_overrideType = overrideType;
182  }
183 
186  {
187  this->m_sendConfig = sendConfig;
188  }
189 
190 }
Serialization/Deserialization operation was successful.
PlatformSizeType FwSizeType
Telemetry send policy (send state + rates), shared by the per-group config and per-packet override...
Per-packet override: which fields apply and their values.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
PacketOverrideConfig & operator=(const PacketOverrideConfig &obj)
Copy assignment 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(Svc::PacketOverrideType::T overrideType, const Svc::TlmSendConfig &sendConfig)
Set all members.
void set_sendConfig(const Svc::TlmSendConfig &sendConfig)
Set member sendConfig.
The size of the serial representation.
bool operator!=(const PacketOverrideConfig &obj) const
Inequality operator.
const char * toChar() const
Convert to a C-style char*.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
bool operator==(const PacketOverrideConfig &obj) const
Equality operator.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
PacketOverrideConfig()
Constructor (default value)
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
void set_overrideType(Svc::PacketOverrideType::T overrideType)
Set member overrideType.
RateGroupDivider component implementation.
Endianness