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
MeasurementStatusEnumAc.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title MeasurementStatusEnumAc.cpp
3// \author Generated by fpp-to-cpp
4// \brief cpp file for MeasurementStatus enum
5// ======================================================================
6
7#include <cstring>
8#include <limits>
9
10#include "Fw/Types/Assert.hpp"
12
13namespace Svc {
14
15 // ----------------------------------------------------------------------
16 // Operators
17 // ----------------------------------------------------------------------
18
19 MeasurementStatus& MeasurementStatus ::
20 operator=(const MeasurementStatus& obj)
21 {
22 this->e = obj.e;
23 return *this;
24 }
25
26 MeasurementStatus& MeasurementStatus ::
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 MeasurementStatus& 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 MeasurementStatus ::
49 isValid() const
50 {
51 return ((e >= OK) && (e <= STALE));
52 }
53
54 Fw::SerializeStatus MeasurementStatus ::
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 MeasurementStatus ::
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 MeasurementStatus ::
80 toString(Fw::StringBase& sb) const
81 {
82 Fw::String s;
83 switch (e) {
84 case OK:
85 s = "OK";
86 break;
87 case FAILURE:
88 s = "FAILURE";
89 break;
90 case STALE:
91 s = "STALE";
92 break;
93 default:
94 s = "[invalid]";
95 break;
96 }
97 sb.format("%s (%" PRIi32 ")", s.toChar(), e);
98 }
99
100#elif FW_ENABLE_TEXT_LOGGING
101
102 void MeasurementStatus ::
103 toString(Fw::StringBase& sb) const
104 {
105 sb.format("%" PRIi32 "", e);
106 }
107
108#endif
109
110}
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
An enumeration for measurement status.
I32 SerialType
The serial representation type.
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.