F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 e)
28 {
29 this->e = e;
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 || BUILD_UT
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
gets char buffer
Definition String.cpp:48
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.