F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ParamValidEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title ParamValidEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for ParamValid enum
5 // ======================================================================
6 
7 #include <cstring>
8 #include <limits>
9 
10 #include "Fw/Types/Assert.hpp"
12 
13 namespace Fw {
14 
15  // ----------------------------------------------------------------------
16  // Operators
17  // ----------------------------------------------------------------------
18 
19  ParamValid& ParamValid ::
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 ParamValid& 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 ParamValid ::
49  isValid() const
50  {
51  return ((e >= UNINIT) && (e <= DEFAULT));
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 ParamValid ::
87  toString(Fw::StringBase& sb) const
88  {
89  Fw::String s;
90  switch (e) {
91  case UNINIT:
92  s = "UNINIT";
93  break;
94  case VALID:
95  s = "VALID";
96  break;
97  case INVALID:
98  s = "INVALID";
99  break;
100  case DEFAULT:
101  s = "DEFAULT";
102  break;
103  default:
104  s = "[invalid]";
105  break;
106  }
107  sb.format("%s (%" PRIu8 ")", s.toChar(), e);
108  }
109 
110 #elif FW_ENABLE_TEXT_LOGGING
111 
112  void ParamValid ::
113  toString(Fw::StringBase& sb) const
114  {
115  sb.format("%" PRIu8 "", e);
116  }
117 
118 #endif
119 
120 }
Serialization/Deserialization operation was successful.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
const char * toChar() const
Definition: String.hpp:50
U8 SerialType
The serial representation type.
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.
bool isValid() const
Check raw enum value for validity.
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
T e
The raw enum value.
ParamValid & operator=(const ParamValid &obj)
Copy assignment operator (object)
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
Enum representing parameter validity.
Implementation of malloc based allocator.
Endianness
T
The raw enum type.