F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DirectoryStatusEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title DirectoryStatusEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for DirectoryStatus 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 
20  operator=(const DirectoryStatus& obj)
21  {
22  this->e = obj.e;
23  return *this;
24  }
25 
27  operator=(T e1)
28  {
29  this->e = e1;
30  return *this;
31  }
32 
33 #ifdef BUILD_UT
34 
35  std::ostream& operator<<(std::ostream& os, const DirectoryStatus& 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 DirectoryStatus ::
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 DOESNT_EXIST:
88  s = "DOESNT_EXIST";
89  break;
90  case NO_PERMISSION:
91  s = "NO_PERMISSION";
92  break;
93  case NOT_OPENED:
94  s = "NOT_OPENED";
95  break;
96  case NOT_DIR:
97  s = "NOT_DIR";
98  break;
99  case NO_MORE_FILES:
100  s = "NO_MORE_FILES";
101  break;
102  case FILE_LIMIT:
103  s = "FILE_LIMIT";
104  break;
105  case BAD_DESCRIPTOR:
106  s = "BAD_DESCRIPTOR";
107  break;
108  case ALREADY_EXISTS:
109  s = "ALREADY_EXISTS";
110  break;
111  case NOT_SUPPORTED:
112  s = "NOT_SUPPORTED";
113  break;
114  case OTHER_ERROR:
115  s = "OTHER_ERROR";
116  break;
117  default:
118  s = "[invalid]";
119  break;
120  }
121  sb.format("%s (%" PRIi32 ")", s.toChar(), e);
122  }
123 
124 #elif FW_ENABLE_TEXT_LOGGING
125 
126  void DirectoryStatus ::
127  toString(Fw::StringBase& sb) const
128  {
129  sb.format("%" PRIi32 "", e);
130  }
131 
132 #endif
133 
134 }
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:56
const char * toChar() const
Definition: String.hpp:50
FPP shadow-enum representing Os::Directory::Status.
bool isValid() const
Check raw enum value for validity.
Fw::SerializeStatus serialize(Fw::SerializeBufferBase &buffer) const
Serialize raw enum value to SerialType.
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Deserialize raw enum value from SerialType.
I32 SerialType
The serial representation type.
DirectoryStatus & operator=(const DirectoryStatus &obj)
Copy assignment operator (object)
T e
The raw enum value.
@ DOESNT_EXIST
Directory doesn't exist.
@ NO_PERMISSION
No permission to read directory.
@ OP_OK
Operation was successful.
@ OTHER_ERROR
A catch-all for other errors. Have to look in implementation-specific code.
@ FILE_LIMIT
Directory has more files than can be read.
@ NOT_SUPPORTED
Operation is not supported by the current implementation.
@ NO_MORE_FILES
Directory stream has no more files.
@ ALREADY_EXISTS
Directory already exists.
@ NOT_DIR
Path is not a directory.
@ BAD_DESCRIPTOR
Directory stream descriptor is invalid.
@ NOT_OPENED
Directory hasn't been opened yet.
SerializeStatus
forward declaration for string
@ FW_DESERIALIZE_FORMAT_ERROR
Deserialization data had incorrect values (unexpected data types)
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.