F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
OnEnumAc.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title OnEnumAc.cpp
3// \author Generated by fpp-to-cpp
4// \brief cpp file for On enum
5// ======================================================================
6
7#include <cstring>
8#include <limits>
9
10#include "Fw/Types/Assert.hpp"
12
13namespace Fw {
14
15 // ----------------------------------------------------------------------
16 // Operators
17 // ----------------------------------------------------------------------
18
19 On& On ::
20 operator=(const On& obj)
21 {
22 this->e = obj.e;
23 return *this;
24 }
25
26 On& On ::
27 operator=(T e1)
28 {
29 this->e = e1;
30 return *this;
31 }
32
33#ifdef BUILD_UT
34
35 std::ostream& operator<<(std::ostream& os, const On& 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 On ::
49 isValid() const
50 {
51 return ((e >= OFF) && (e <= ON));
52 }
53
55 serialize(Fw::SerializeBufferBase& buffer) const
56 {
57 const Fw::SerializeStatus status = buffer.serialize(
58 static_cast<SerialType>(this->e)
59 );
60 return status;
61 }
62
64 deserialize(Fw::SerializeBufferBase& buffer)
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 On ::
80 toString(Fw::StringBase& sb) const
81 {
82 Fw::String s;
83 switch (e) {
84 case OFF:
85 s = "OFF";
86 break;
87 case ON:
88 s = "ON";
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 On ::
100 toString(Fw::StringBase& sb) const
101 {
102 sb.format("%" PRIi32 "", e);
103 }
104
105#endif
106
107}
On and off states.
Definition OnEnumAc.hpp:19
T
The raw enum type.
Definition OnEnumAc.hpp:31
T e
The raw enum value.
Definition OnEnumAc.hpp:161
I32 SerialType
The serial representation type.
Definition OnEnumAc.hpp:28
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void format(const CHAR *formatString,...)
write formatted string to buffer
const char * toChar() const
Definition String.hpp:50
SerializeStatus
forward declaration for string
@ FW_DESERIALIZE_FORMAT_ERROR
Deserialization data had incorrect values (unexpected data types)
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.