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
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
13namespace Fw {
14
15 // ----------------------------------------------------------------------
16 // Operators
17 // ----------------------------------------------------------------------
18
19 ParamValid& ParamValid ::
20 operator=(const ParamValid& obj)
21 {
22 this->e = obj.e;
23 return *this;
24 }
25
26 ParamValid& ParamValid ::
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 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
54 Fw::SerializeStatus ParamValid ::
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
63 Fw::SerializeStatus ParamValid ::
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 ParamValid ::
80 toString(Fw::StringBase& sb) const
81 {
82 Fw::String s;
83 switch (e) {
84 case UNINIT:
85 s = "UNINIT";
86 break;
87 case VALID:
88 s = "VALID";
89 break;
90 case INVALID:
91 s = "INVALID";
92 break;
93 case DEFAULT:
94 s = "DEFAULT";
95 break;
96 default:
97 s = "[invalid]";
98 break;
99 }
100 sb.format("%s (%" PRIi32 ")", s.toChar(), e);
101 }
102
103#elif FW_ENABLE_TEXT_LOGGING
104
105 void ParamValid ::
106 toString(Fw::StringBase& sb) const
107 {
108 sb.format("%" PRIi32 "", e);
109 }
110
111#endif
112
113}
Enum representing parameter validity.
T
The raw enum type.
T e
The raw enum value.
I32 SerialType
The serial representation type.
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.