F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
VersionEnabledEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title VersionEnabledEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for VersionEnabled enum
5 // ======================================================================
6 
7 #include <cstring>
8 #include <limits>
9 
10 #include "Fw/Types/Assert.hpp"
12 
13 namespace Svc {
14 
15  // ----------------------------------------------------------------------
16  // Operators
17  // ----------------------------------------------------------------------
18 
19  VersionEnabled& VersionEnabled ::
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 VersionEnabled& 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 
49  isValid() const
50  {
51  return ((e >= DISABLED) && (e <= ENABLED));
52  }
53 
56  {
57  const Fw::SerializeStatus status = buffer.serialize(
58  static_cast<SerialType>(this->e)
59  );
60  return status;
61  }
62 
65  {
66  SerialType es;
67  Fw::SerializeStatus status = buffer.deserialize(es);
68  if (status == Fw::FW_SERIALIZE_OK) {
69  this->e = static_cast<T>(es);
70  if (!this->isValid()) {
72  }
73  }
74  return status;
75  }
76 
77 #if FW_SERIALIZABLE_TO_STRING
78 
79  void VersionEnabled ::
80  toString(Fw::StringBase& sb) const
81  {
82  Fw::String s;
83  switch (e) {
84  case DISABLED:
85  s = "DISABLED";
86  break;
87  case ENABLED:
88  s = "ENABLED";
89  break;
90  default:
91  s = "[invalid]";
92  break;
93  }
94  sb.format("%s (%" PRIi32 ")", s.toChar(), e);
95  }
96 
97 #elif FW_ENABLE_TEXT_LOGGING
98 
99  void VersionEnabled ::
100  toString(Fw::StringBase& sb) const
101  {
102  sb.format("%" PRIi32 "", e);
103  }
104 
105 #endif
106 
107 }
Serialization/Deserialization operation was successful.
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Deserialize raw enum value from SerialType.
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
const char * toChar() const
Definition: String.hpp:50
I32 SerialType
The serial representation type.
Deserialization data had incorrect values (unexpected data types)
SerializeStatus
forward declaration for string
bool isValid() const
Check raw enum value for validity.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
VersionEnabled & operator=(const VersionEnabled &obj)
Copy assignment operator (object)
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
T e
The raw enum value.
Fw::SerializeStatus serialize(Fw::SerializeBufferBase &buffer) const
Serialize raw enum value to SerialType.
Tracks versions for project, framework and user defined versions etc.