F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
TimeIntervalValueSerializableAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title TimeIntervalValueSerializableAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for TimeIntervalValue struct
5 // ======================================================================
6 
8 #include "Fw/Types/Assert.hpp"
9 
10 namespace Fw {
11 
12  // ----------------------------------------------------------------------
13  // Constructors
14  // ----------------------------------------------------------------------
15 
18  Serializable(),
19  m_seconds(0),
20  m_useconds(0)
21  {
22 
23  }
24 
27  U32 seconds,
28  U32 useconds
29  ) :
30  Serializable(),
31  m_seconds(seconds),
32  m_useconds(useconds)
33  {
34 
35  }
36 
39  Serializable(),
40  m_seconds(obj.m_seconds),
41  m_useconds(obj.m_useconds)
42  {
43 
44  }
45 
46  // ----------------------------------------------------------------------
47  // Operators
48  // ----------------------------------------------------------------------
49 
52  {
53  if (this == &obj) {
54  return *this;
55  }
56 
57  set(obj.m_seconds, obj.m_useconds);
58  return *this;
59  }
60 
62  operator==(const TimeIntervalValue& obj) const
63  {
64  if (this == &obj) { return true; }
65  return (
66  (this->m_seconds == obj.m_seconds) &&
67  (this->m_useconds == obj.m_useconds)
68  );
69  }
70 
72  operator!=(const TimeIntervalValue& obj) const
73  {
74  return !(*this == obj);
75  }
76 
77 #ifdef BUILD_UT
78 
79  std::ostream& operator<<(std::ostream& os, const TimeIntervalValue& 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_seconds, mode);
101  if (status != Fw::FW_SERIALIZE_OK) {
102  return status;
103  }
104  status = buffer.serializeFrom(this->m_useconds, 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_seconds, mode);
121  if (status != Fw::FW_SERIALIZE_OK) {
122  return status;
123  }
124  status = buffer.deserializeTo(this->m_useconds, mode);
125  if (status != Fw::FW_SERIALIZE_OK) {
126  return status;
127  }
128 
129  return status;
130  }
131 
134  {
135  FwSizeType size = 0;
136  size += sizeof(U32);
137  size += sizeof(U32);
138  return size;
139  }
140 
141 #if FW_SERIALIZABLE_TO_STRING
142 
143  void TimeIntervalValue ::
144  toString(Fw::StringBase& sb) const
145  {
146  Fw::String tmp;
147  sb = "( ";
148 
149  // Format seconds
150  sb += "seconds = ";
151  tmp.format("%" PRIu32 "", this->m_seconds);
152  sb += tmp;
153  sb += ", ";
154 
155  // Format useconds
156  sb += "useconds = ";
157  tmp.format("%" PRIu32 "", this->m_useconds);
158  sb += tmp;
159  sb += " )";
160  }
161 
162 #endif
163 
164  // ----------------------------------------------------------------------
165  // Setter functions
166  // ----------------------------------------------------------------------
167 
170  U32 seconds,
171  U32 useconds
172  )
173  {
174  this->m_seconds = seconds;
175  this->m_useconds = useconds;
176  }
177 
179  set_seconds(U32 seconds)
180  {
181  this->m_seconds = seconds;
182  }
183 
185  set_useconds(U32 useconds)
186  {
187  this->m_useconds = useconds;
188  }
189 
190 }
Serialization/Deserialization operation was successful.
Data structure for Time Interval.
PlatformSizeType FwSizeType
const char * toChar() const
Convert to a C-style char*.
Definition: String.hpp:50
void set_useconds(U32 useconds)
Set member useconds.
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
TimeIntervalValue & operator=(const TimeIntervalValue &obj)
Copy assignment operator.
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
bool operator==(const TimeIntervalValue &obj) const
Equality operator.
FwSizeType serializedSize() const
Get the dynamic serialized size of the struct.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:39
void set(U32 seconds, U32 useconds)
Set all members.
void set_seconds(U32 seconds)
Set member seconds.
TimeIntervalValue()
Constructor (default value)
bool operator!=(const TimeIntervalValue &obj) const
Inequality operator.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
Implementation of malloc based allocator.
Endianness