F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
TlmSendConfigSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title TlmSendConfigSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for TlmSendConfig struct
5 // ======================================================================
6 
7 #include "Fw/Types/Assert.hpp"
9 
10 namespace Svc {
11 
12  // ----------------------------------------------------------------------
13  // Constructors
14  // ----------------------------------------------------------------------
15 
18  Serializable(),
19  m_sendState(),
20  m_rates()
21  {
22 
23  }
24 
27  Svc::TlmSendState::T sendState,
28  const Svc::RateConfig& rates
29  ) :
30  Serializable(),
31  m_sendState(sendState),
32  m_rates(rates)
33  {
34 
35  }
36 
39  Serializable(),
40  m_sendState(obj.m_sendState),
41  m_rates(obj.m_rates)
42  {
43 
44  }
45 
46  // ----------------------------------------------------------------------
47  // Operators
48  // ----------------------------------------------------------------------
49 
52  {
53  if (this == &obj) {
54  return *this;
55  }
56 
57  set(obj.m_sendState, obj.m_rates);
58  return *this;
59  }
60 
61  bool TlmSendConfig ::
62  operator==(const TlmSendConfig& obj) const
63  {
64  if (this == &obj) { return true; }
65  return (
66  (this->m_sendState == obj.m_sendState) &&
67  (this->m_rates == obj.m_rates)
68  );
69  }
70 
71  bool TlmSendConfig ::
72  operator!=(const TlmSendConfig& obj) const
73  {
74  return !(*this == obj);
75  }
76 
77 #ifdef BUILD_UT
78 
79  std::ostream& operator<<(std::ostream& os, const TlmSendConfig& 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_sendState, mode);
101  if (status != Fw::FW_SERIALIZE_OK) {
102  return status;
103  }
104  status = buffer.serializeFrom(this->m_rates, 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_sendState, mode);
121  if (status != Fw::FW_SERIALIZE_OK) {
122  return status;
123  }
124  status = buffer.deserializeTo(this->m_rates, 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_rates.serializedSize();
138  return size;
139  }
140 
141 #if FW_SERIALIZABLE_TO_STRING
142 
143  void TlmSendConfig ::
144  toString(Fw::StringBase& sb) const
145  {
146  Fw::String tmp;
147  sb = "( ";
148 
149  // Format sendState
150  sb += "sendState = ";
151  this->m_sendState.toString(tmp);
152  sb += tmp;
153  sb += ", ";
154 
155  // Format rates
156  sb += "rates = ";
157  this->m_rates.toString(tmp);
158  sb += tmp;
159  sb += " )";
160  }
161 
162 #endif
163 
164  // ----------------------------------------------------------------------
165  // Setter functions
166  // ----------------------------------------------------------------------
167 
168  void TlmSendConfig ::
170  Svc::TlmSendState::T sendState,
171  const Svc::RateConfig& rates
172  )
173  {
174  this->m_sendState = sendState;
175  this->m_rates = rates;
176  }
177 
178  void TlmSendConfig ::
180  {
181  this->m_sendState = sendState;
182  }
183 
184  void TlmSendConfig ::
186  {
187  this->m_rates = rates;
188  }
189 
190 }
Serialization/Deserialization operation was successful.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
void set_sendState(Svc::TlmSendState::T sendState)
Set member sendState.
PlatformSizeType FwSizeType
Telemetry send policy (send state + rates), shared by the per-group config and per-packet override...
void set_rates(const Svc::RateConfig &rates)
Set member rates.
bool operator!=(const TlmSendConfig &obj) const
Inequality operator.
The size of the serial representation.
bool operator==(const TlmSendConfig &obj) const
Equality 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::TlmSendState::T sendState, const Svc::RateConfig &rates)
Set all members.
T
The raw enum type.
const char * toChar() const
Convert to a C-style char*.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
TlmSendConfig()
Constructor (default value)
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
TlmSendConfig & operator=(const TlmSendConfig &obj)
Copy assignment operator.
RateGroupDivider component implementation.
Endianness