F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
RecvStatusEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title RecvStatusEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for RecvStatus enum
5 // ======================================================================
6 
7 #include <cstring>
8 #include <limits>
9 
10 #include "Fw/Types/Assert.hpp"
12 
13 namespace Drv {
14 
15  // ----------------------------------------------------------------------
16  // Operators
17  // ----------------------------------------------------------------------
18 
19  RecvStatus& RecvStatus ::
21  {
22  this->e = obj.e;
23  return *this;
24  }
25 
28  {
29  this->e = e1;
30  return *this;
31  }
32 
33 #ifdef BUILD_UT
34 
35  std::ostream& operator<<(std::ostream& os, const RecvStatus& 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 RecvStatus ::
49  isValid() const
50  {
51  return ((e >= RECV_OK) && (e <= RECV_ERROR));
52  }
53 
56  {
57  const Fw::SerializeStatus status = buffer.serialize(
58  static_cast<SerialType>(this->e)
59  );
60  return status;
61  }
62 
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 RecvStatus ::
80  toString(Fw::StringBase& sb) const
81  {
82  Fw::String s;
83  switch (e) {
84  case RECV_OK:
85  s = "RECV_OK";
86  break;
87  case RECV_NO_DATA:
88  s = "RECV_NO_DATA";
89  break;
90  case RECV_ERROR:
91  s = "RECV_ERROR";
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 RecvStatus ::
103  toString(Fw::StringBase& sb) const
104  {
105  sb.format("%" PRIi32 "", e);
106  }
107 
108 #endif
109 
110 }
Serialization/Deserialization operation was successful.
RecvStatus & operator=(const RecvStatus &obj)
Copy assignment operator (object)
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
Status associated with the received data.
const char * toChar() const
Definition: String.hpp:50
Receive worked, but there was no data.
Deserialization data had incorrect values (unexpected data types)
I32 SerialType
The serial representation type.
Receive worked as expected.
Receive error occurred retrying may succeed.
SerializeStatus
forward declaration for string
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Deserialize raw enum value from SerialType.
Fw::SerializeStatus serialize(Fw::SerializeBufferBase &buffer) const
Serialize raw enum value to SerialType.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
bool isValid() const
Check raw enum value for validity.
T e
The raw enum value.
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
T
The raw enum type.