F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
TimeOffsetSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title TimeOffsetSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for TimeOffset struct
5 // ======================================================================
6 
7 #include "Fw/Types/Assert.hpp"
9 
10 namespace Svc {
11 
12  // ----------------------------------------------------------------------
13  // Constructors
14  // ----------------------------------------------------------------------
15 
18  Serializable(),
19  m_from(),
20  m_to(),
21  m_offset_us()
22  {
23 
24  }
25 
28  TimeBase::T from,
29  TimeBase::T to,
30  I64 offset_us
31  ) :
32  Serializable(),
33  m_from(from),
34  m_to(to),
35  m_offset_us(offset_us)
36  {
37 
38  }
39 
41  TimeOffset(const TimeOffset& obj) :
42  Serializable(),
43  m_from(obj.m_from),
44  m_to(obj.m_to),
45  m_offset_us(obj.m_offset_us)
46  {
47 
48  }
49 
50  // ----------------------------------------------------------------------
51  // Operators
52  // ----------------------------------------------------------------------
53 
56  {
57  if (this == &obj) {
58  return *this;
59  }
60 
61  set(obj.m_from, obj.m_to, obj.m_offset_us);
62  return *this;
63  }
64 
65  bool TimeOffset ::
66  operator==(const TimeOffset& obj) const
67  {
68  if (this == &obj) { return true; }
69  return (
70  (this->m_from == obj.m_from) &&
71  (this->m_to == obj.m_to) &&
72  (this->m_offset_us == obj.m_offset_us)
73  );
74  }
75 
76  bool TimeOffset ::
77  operator!=(const TimeOffset& obj) const
78  {
79  return !(*this == obj);
80  }
81 
82 #ifdef BUILD_UT
83 
84  std::ostream& operator<<(std::ostream& os, const TimeOffset& 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_from, mode);
106  if (status != Fw::FW_SERIALIZE_OK) {
107  return status;
108  }
109  status = buffer.serializeFrom(this->m_to, mode);
110  if (status != Fw::FW_SERIALIZE_OK) {
111  return status;
112  }
113  status = buffer.serializeFrom(this->m_offset_us, 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_from, mode);
130  if (status != Fw::FW_SERIALIZE_OK) {
131  return status;
132  }
133  status = buffer.deserializeTo(this->m_to, mode);
134  if (status != Fw::FW_SERIALIZE_OK) {
135  return status;
136  }
137  status = buffer.deserializeTo(this->m_offset_us, mode);
138  if (status != Fw::FW_SERIALIZE_OK) {
139  return status;
140  }
141 
142  return status;
143  }
144 
147  {
148  FwSizeType size = 0;
151  size += sizeof(I64);
152  return size;
153  }
154 
155 #if FW_SERIALIZABLE_TO_STRING
156 
157  void TimeOffset ::
158  toString(Fw::StringBase& sb) const
159  {
160  Fw::String tmp;
161  sb = "( ";
162 
163  // Format from
164  sb += "from = ";
165  this->m_from.toString(tmp);
166  sb += tmp;
167  sb += ", ";
168 
169  // Format to
170  sb += "to = ";
171  this->m_to.toString(tmp);
172  sb += tmp;
173  sb += ", ";
174 
175  // Format offset_us
176  sb += "offset_us = ";
177  tmp.format("%" PRIi64 "", this->m_offset_us);
178  sb += tmp;
179  sb += " )";
180  }
181 
182 #endif
183 
184  // ----------------------------------------------------------------------
185  // Setter functions
186  // ----------------------------------------------------------------------
187 
188  void TimeOffset ::
190  TimeBase::T from,
191  TimeBase::T to,
192  I64 offset_us
193  )
194  {
195  this->m_from = from;
196  this->m_to = to;
197  this->m_offset_us = offset_us;
198  }
199 
200  void TimeOffset ::
202  {
203  this->m_from = from;
204  }
205 
206  void TimeOffset ::
208  {
209  this->m_to = to;
210  }
211 
212  void TimeOffset ::
213  set_offset_us(I64 offset_us)
214  {
215  this->m_offset_us = offset_us;
216  }
217 
218 }
Serialization/Deserialization operation was successful.
TimeOffset & operator=(const TimeOffset &obj)
Copy assignment operator.
PlatformSizeType FwSizeType
bool operator==(const TimeOffset &obj) const
Equality operator.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
T
The raw enum type.
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
void set_from(TimeBase::T from)
Set member from.
void set(TimeBase::T from, TimeBase::T to, I64 offset_us)
Set all members.
const char * toChar() const
Convert to a C-style char*.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:58
TimeOffset()
Constructor (default value)
bool operator!=(const TimeOffset &obj) const
Inequality operator.
void set_offset_us(I64 offset_us)
Set member offset_us.
void set_to(TimeBase::T to)
Set member to.
The size of the serial representation.
RateGroupDivider component implementation.
Endianness