F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
RawTimeStatusEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title RawTimeStatusEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for RawTimeStatus enum
5 // ======================================================================
6 
7 #include <cstring>
8 #include <limits>
9 
10 #include "Fw/Types/Assert.hpp"
12 
13 namespace Os {
14 
15  // ----------------------------------------------------------------------
16  // Operators
17  // ----------------------------------------------------------------------
18 
19  RawTimeStatus& RawTimeStatus ::
21  {
22  this->e = obj.e;
23  return *this;
24  }
25 
28  {
29  this->e = e1;
30  return *this;
31  }
32 
33 #ifdef BUILD_UT
34 
35  std::ostream& operator<<(std::ostream& os, const RawTimeStatus& obj) {
36  Fw::String s;
37  obj.toString(s);
38  os << s;
39  return os;
40  }
41 
42 #endif
43 
44  // ----------------------------------------------------------------------
45  // Member functions
46  // ----------------------------------------------------------------------
47 
48  bool RawTimeStatus ::
49  isValid() const
50  {
51  return ((e >= OP_OK) && (e <= OTHER_ERROR));
52  }
53 
56  Fw::SerialBufferBase& buffer,
57  Fw::Endianness mode
58  ) const
59  {
60  const Fw::SerializeStatus status = buffer.serializeFrom(
61  static_cast<SerialType>(this->e),
62  mode
63  );
64  return status;
65  }
66 
69  Fw::SerialBufferBase& buffer,
70  Fw::Endianness mode
71  )
72  {
73  SerialType es;
74  Fw::SerializeStatus status = buffer.deserializeTo(es, mode);
75  if (status == Fw::FW_SERIALIZE_OK) {
76  this->e = static_cast<T>(es);
77  if (!this->isValid()) {
79  }
80  }
81  return status;
82  }
83 
84 #if FW_SERIALIZABLE_TO_STRING
85 
86  void RawTimeStatus ::
87  toString(Fw::StringBase& sb) const
88  {
89  Fw::String s;
90  switch (e) {
91  case OP_OK:
92  s = "OP_OK";
93  break;
94  case OP_OVERFLOW:
95  s = "OP_OVERFLOW";
96  break;
97  case INVALID_PARAMS:
98  s = "INVALID_PARAMS";
99  break;
100  case NOT_SUPPORTED:
101  s = "NOT_SUPPORTED";
102  break;
103  case OTHER_ERROR:
104  s = "OTHER_ERROR";
105  break;
106  default:
107  s = "[invalid]";
108  break;
109  }
110  sb.format("%s (%" PRIu8 ")", s.toChar(), e);
111  }
112 
113 #elif FW_ENABLE_TEXT_LOGGING
114 
115  void RawTimeStatus ::
116  toString(Fw::StringBase& sb) const
117  {
118  sb.format("%" PRIu8 "", e);
119  }
120 
121 #endif
122 
123 }
Serialization/Deserialization operation was successful.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
FPP shadow-enum representing Os::RawTime::Status.
const char * toChar() const
Convert to a C-style char*.
Definition: String.hpp:50
Operation result caused an overflow.
RawTime feature is not supported.
bool isValid() const
Check raw enum value for validity.
Deserialization data had incorrect values (unexpected data types)
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
T e
The raw enum value.
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
U8 SerialType
The serial representation type.
Operation was successful.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:39
Parameters invalid for current platform.
RawTimeStatus & operator=(const RawTimeStatus &obj)
Copy assignment operator (object)
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
T
The raw enum type.
Endianness