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_PRIORITY:
101  s = "INVALID_PRIORITY";
102  break;
103  case INVALID_STACK:
104  s = "INVALID_STACK";
105  break;
106  case UNKNOWN_ERROR:
107  s = "UNKNOWN_ERROR";
108  break;
109  case INVALID_AFFINITY:
110  s = "INVALID_AFFINITY";
111  break;
112  case DELAY_ERROR:
113  s = "DELAY_ERROR";
114  break;
115  case JOIN_ERROR:
116  s = "JOIN_ERROR";
117  break;
118  case ERROR_RESOURCES:
119  s = "ERROR_RESOURCES";
120  break;
121  case ERROR_PERMISSION:
122  s = "ERROR_PERMISSION";
123  break;
124  case NOT_SUPPORTED:
125  s = "NOT_SUPPORTED";
126  break;
127  case INVALID_STATE:
128  s = "INVALID_STATE";
129  break;
130  default:
131  s = "[invalid]";
132  break;
133  }
134  sb.format("%s (%" PRIu8 ")", s.toChar(), e);
135  }
136 
137 #elif FW_ENABLE_TEXT_LOGGING
138 
139  void TaskStatus ::
140  toString(Fw::StringBase& sb) const
141  {
142  sb.format("%" PRIu8 "", e);
143  }
144 
145 #endif
146 
147 }
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
started task with invalid priority
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