F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
FileModeEnumAc.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title FileModeEnumAc.cpp
3// \author Generated by fpp-to-cpp
4// \brief cpp file for FileMode enum
5// ======================================================================
6
7#include <cstring>
8#include <limits>
9
10#include "Fw/Types/Assert.hpp"
12
13namespace Os {
14
15 // ----------------------------------------------------------------------
16 // Operators
17 // ----------------------------------------------------------------------
18
19 FileMode& FileMode ::
20 operator=(const FileMode& obj)
21 {
22 this->e = obj.e;
23 return *this;
24 }
25
26 FileMode& FileMode ::
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 FileMode& 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 FileMode ::
49 isValid() const
50 {
51 return ((e >= OPEN_NO_MODE) && (e <= OPEN_APPEND));
52 }
53
55 serialize(Fw::SerializeBufferBase& buffer) const
56 {
57 const Fw::SerializeStatus status = buffer.serialize(
58 static_cast<SerialType>(this->e)
59 );
60 return status;
61 }
62
64 deserialize(Fw::SerializeBufferBase& buffer)
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 FileMode ::
80 toString(Fw::StringBase& sb) const
81 {
82 Fw::String s;
83 switch (e) {
84 case OPEN_NO_MODE:
85 s = "OPEN_NO_MODE";
86 break;
87 case OPEN_READ:
88 s = "OPEN_READ";
89 break;
90 case OPEN_CREATE:
91 s = "OPEN_CREATE";
92 break;
93 case OPEN_WRITE:
94 s = "OPEN_WRITE";
95 break;
96 case OPEN_SYNC_WRITE:
97 s = "OPEN_SYNC_WRITE";
98 break;
99 case OPEN_APPEND:
100 s = "OPEN_APPEND";
101 break;
102 default:
103 s = "[invalid]";
104 break;
105 }
106 sb.format("%s (%" PRIi32 ")", s.toChar(), e);
107 }
108
109#elif FW_ENABLE_TEXT_LOGGING
110
111 void FileMode ::
112 toString(Fw::StringBase& sb) const
113 {
114 sb.format("%" PRIi32 "", e);
115 }
116
117#endif
118
119}
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
const char * toChar() const
Definition String.hpp:50
FPP shadow-enum representing Os::File::Mode.
I32 SerialType
The serial representation type.
T
The raw enum type.
T e
The raw enum value.
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.