F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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  {
57  const Fw::SerializeStatus status = buffer.serializeFrom(
58  static_cast<SerialType>(this->e)
59  );
60  return status;
61  }
62 
65  {
66  SerialType es;
67  Fw::SerializeStatus status = buffer.deserializeTo(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 TaskStatus ::
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 INVALID_HANDLE:
88  s = "INVALID_HANDLE";
89  break;
90  case INVALID_PARAMS:
91  s = "INVALID_PARAMS";
92  break;
93  case INVALID_STACK:
94  s = "INVALID_STACK";
95  break;
96  case UNKNOWN_ERROR:
97  s = "UNKNOWN_ERROR";
98  break;
99  case INVALID_AFFINITY:
100  s = "INVALID_AFFINITY";
101  break;
102  case DELAY_ERROR:
103  s = "DELAY_ERROR";
104  break;
105  case JOIN_ERROR:
106  s = "JOIN_ERROR";
107  break;
108  case ERROR_RESOURCES:
109  s = "ERROR_RESOURCES";
110  break;
111  case ERROR_PERMISSION:
112  s = "ERROR_PERMISSION";
113  break;
114  case NOT_SUPPORTED:
115  s = "NOT_SUPPORTED";
116  break;
117  case INVALID_STATE:
118  s = "INVALID_STATE";
119  break;
120  default:
121  s = "[invalid]";
122  break;
123  }
124  sb.format("%s (%" PRIi32 ")", s.toChar(), e);
125  }
126 
127 #elif FW_ENABLE_TEXT_LOGGING
128 
129  void TaskStatus ::
130  toString(Fw::StringBase& sb) const
131  {
132  sb.format("%" PRIi32 "", e);
133  }
134 
135 #endif
136 
137 }
Serialization/Deserialization operation was successful.
bool isValid() const
Check raw enum value for validity.
Task feature is not supported.
error trying to join the task
const char * toChar() const
Definition: String.hpp:50
Deserialization data had incorrect values (unexpected data types)
started with invalid stack size
SerializeStatus
forward declaration for string
T
The raw enum type.
FPP shadow-enum representing Os::Task::Status.
started task with invalid parameters
error trying to delay the task
Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase &buffer)
Deserialize raw enum value from SerialType.
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:55
message sent/received okay
Task is in an invalid state for the operation.
SerializeStatus serializeFrom(U8 val)
serialize 8-bit unsigned int
TaskStatus & operator=(const TaskStatus &obj)
Copy assignment operator (object)
unexpected error return value
I32 SerialType
The serial representation type.
unable to allocate more tasks
Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase &buffer) const
Serialize raw enum value to SerialType.
SerializeStatus deserializeTo(U8 &val)
deserialize 8-bit unsigned int