F´ Flight Software - C/C++ Documentation devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CmdResponseEnumAc.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title CmdResponseEnumAc.cpp
3// \author Generated by fpp-to-cpp
4// \brief cpp file for CmdResponse 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 CmdResponse& CmdResponse ::
20 operator=(const CmdResponse& obj)
21 {
22 this->e = obj.e;
23 return *this;
24 }
25
26 CmdResponse& CmdResponse ::
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 CmdResponse& 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 CmdResponse ::
49 isValid() const
50 {
51 return ((e >= OK) && (e <= BUSY));
52 }
53
54 Fw::SerializeStatus CmdResponse ::
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 CmdResponse ::
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 CmdResponse ::
80 toString(Fw::StringBase& sb) const
81 {
82 Fw::String s;
83 switch (e) {
84 case OK:
85 s = "OK";
86 break;
87 case INVALID_OPCODE:
88 s = "INVALID_OPCODE";
89 break;
90 case VALIDATION_ERROR:
91 s = "VALIDATION_ERROR";
92 break;
93 case FORMAT_ERROR:
94 s = "FORMAT_ERROR";
95 break;
96 case EXECUTION_ERROR:
97 s = "EXECUTION_ERROR";
98 break;
99 case BUSY:
100 s = "BUSY";
101 break;
102 default:
103 s = "[invalid]";
104 break;
105 }
106 sb.format("%s (%" PRIi32 ")", s.toChar(), e);
107 }
108
109#elif FW_ENABLE_TEXT_LOGGING
110
111 void CmdResponse ::
112 toString(Fw::StringBase& sb) const
113 {
114 sb.format("%" PRIi32 "", e);
115 }
116
117#endif
118
119}
Enum representing a command response.
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.