F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
ByteStreamStatusEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title ByteStreamStatusEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for ByteStreamStatus 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  ByteStreamStatus& ByteStreamStatus ::
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 ByteStreamStatus& 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 
49  isValid() const
50  {
51  return ((e >= OP_OK) && (e <= OTHER_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 ByteStreamStatus ::
80  toString(Fw::StringBase& sb) const
81  {
82  Fw::String s;
83  switch (e) {
84  case OP_OK:
85  s = "OP_OK";
86  break;
87  case SEND_RETRY:
88  s = "SEND_RETRY";
89  break;
90  case RECV_NO_DATA:
91  s = "RECV_NO_DATA";
92  break;
93  case OTHER_ERROR:
94  s = "OTHER_ERROR";
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 ByteStreamStatus ::
106  toString(Fw::StringBase& sb) const
107  {
108  sb.format("%" PRIi32 "", e);
109  }
110 
111 #endif
112 
113 }
Serialization/Deserialization operation was successful.
bool isValid() const
Check raw enum value for validity.
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
const char * toChar() const
Definition: String.hpp:50
Error occurred, retrying may succeed.
Deserialization data had incorrect values (unexpected data types)
I32 SerialType
The serial representation type.
Receive worked, but there was no data.
SerializeStatus
forward declaration for string
Status returned by the send call.
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Deserialize raw enum value from SerialType.
Operation worked as expected.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
Fw::SerializeStatus serialize(Fw::SerializeBufferBase &buffer) const
Serialize raw enum value to SerialType.
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
ByteStreamStatus & operator=(const ByteStreamStatus &obj)
Copy assignment operator (object)