F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
TaskStatusEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title TaskStatusEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for TaskStatus enum
5 // ======================================================================
6 
7 #include <cstring>
8 #include <limits>
9 
10 #include "Fw/Types/Assert.hpp"
12 
13 namespace Os {
14 
15  // ----------------------------------------------------------------------
16  // Operators
17  // ----------------------------------------------------------------------
18 
19  TaskStatus& TaskStatus ::
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 TaskStatus& 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 TaskStatus ::
49  isValid() const
50  {
51  return ((e >= OP_OK) && (e <= INVALID_STATE));
52  }
53 
56  Fw::SerialBufferBase& buffer,
57  Fw::Endianness mode
58  ) const
59  {
60  const Fw::SerializeStatus status = buffer.serializeFrom(
61  static_cast<SerialType>(this->e),
62  mode
63  );
64  return status;
65  }
66 
69  Fw::SerialBufferBase& buffer,
70  Fw::Endianness mode
71  )
72  {
73  SerialType es;
74  Fw::SerializeStatus status = buffer.deserializeTo(es, mode);
75  if (status == Fw::FW_SERIALIZE_OK) {
76  this->e = static_cast<T>(es);
77  if (!this->isValid()) {
79  }
80  }
81  return status;
82  }
83 
84 #if FW_SERIALIZABLE_TO_STRING
85 
86  void TaskStatus ::
87  toString(Fw::StringBase& sb) const
88  {
89  Fw::String s;
90  switch (e) {
91  case OP_OK:
92  s = "OP_OK";
93  break;
94  case INVALID_HANDLE:
95  s = "INVALID_HANDLE";
96  break;
97  case INVALID_PARAMS:
98  s = "INVALID_PARAMS";
99  break;
100  case INVALID_STACK:
101  s = "INVALID_STACK";
102  break;
103  case UNKNOWN_ERROR:
104  s = "UNKNOWN_ERROR";
105  break;
106  case INVALID_AFFINITY:
107  s = "INVALID_AFFINITY";
108  break;
109  case DELAY_ERROR:
110  s = "DELAY_ERROR";
111  break;
112  case JOIN_ERROR:
113  s = "JOIN_ERROR";
114  break;
115  case ERROR_RESOURCES:
116  s = "ERROR_RESOURCES";
117  break;
118  case ERROR_PERMISSION:
119  s = "ERROR_PERMISSION";
120  break;
121  case NOT_SUPPORTED:
122  s = "NOT_SUPPORTED";
123  break;
124  case INVALID_STATE:
125  s = "INVALID_STATE";
126  break;
127  default:
128  s = "[invalid]";
129  break;
130  }
131  sb.format("%s (%" PRIu8 ")", s.toChar(), e);
132  }
133 
134 #elif FW_ENABLE_TEXT_LOGGING
135 
136  void TaskStatus ::
137  toString(Fw::StringBase& sb) const
138  {
139  sb.format("%" PRIu8 "", e);
140  }
141 
142 #endif
143 
144 }
Serialization/Deserialization operation was successful.
bool isValid() const
Check raw enum value for validity.
Task feature is not supported.
U8 SerialType
The serial representation type.
error trying to join the task
const char * toChar() const
Convert to a C-style char*.
Definition: String.hpp:50
Deserialization data had incorrect values (unexpected data types)
virtual SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)=0
Serialize an 8-bit unsigned integer value.
started with invalid stack size
SerializeStatus
forward declaration for string
virtual SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)=0
Deserialize an 8-bit unsigned integer value.
T
The raw enum type.
FPP shadow-enum representing Os::Task::Status.
started task with invalid parameters
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
error trying to delay the task
unable to set the task affinity
T e
The raw enum value.
permissions error setting-up tasks
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:39
message sent/received okay
Task is in an invalid state for the operation.
TaskStatus & operator=(const TaskStatus &obj)
Copy assignment operator (object)
Endianness
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
unexpected error return value
unable to allocate more tasks