F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
VersionEnabledEnumAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title VersionEnabledEnumAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for VersionEnabled enum
5 // ======================================================================
6 
7 #ifndef Svc_VersionEnabledEnumAc_HPP
8 #define Svc_VersionEnabledEnumAc_HPP
9 
10 #include "Fw/FPrimeBasicTypes.hpp"
12 #include "Fw/Types/String.hpp"
13 
14 namespace Svc {
15 
18  public Fw::Serializable
19  {
20 
21  public:
22 
23  // ----------------------------------------------------------------------
24  // Types
25  // ----------------------------------------------------------------------
26 
28  typedef U8 SerialType;
29 
31  enum T {
33  DISABLED = 0,
35  ENABLED = 1,
36  };
37 
39  typedef enum T t;
40 
41  public:
42 
43  // ----------------------------------------------------------------------
44  // Constants
45  // ----------------------------------------------------------------------
46 
47  enum {
52  };
53 
54  public:
55 
56  // ----------------------------------------------------------------------
57  // Constructors
58  // ----------------------------------------------------------------------
59 
62  {
63  this->e = DISABLED;
64  }
65 
68  const enum T e1
69  )
70  {
71  this->e = e1;
72  }
73 
76  const VersionEnabled& obj
77  )
78  {
79  this->e = obj.e;
80  }
81 
82  public:
83 
84  // ----------------------------------------------------------------------
85  // Operators
86  // ----------------------------------------------------------------------
87 
90  const VersionEnabled& obj
91  );
92 
95  enum T e1
96  );
97 
99  operator enum T() const
100  {
101  return this->e;
102  }
103 
105  bool operator==(enum T e1) const
106  {
107  return this->e == e1;
108  }
109 
111  bool operator!=(enum T e1) const
112  {
113  return !(*this == e1);
114  }
115 
116 #ifdef BUILD_UT
117 
119  friend std::ostream& operator<<(
120  std::ostream& os,
121  const VersionEnabled& obj
122  );
123 
124 #endif
125 
126  public:
127 
128  // ----------------------------------------------------------------------
129  // Member functions
130  // ----------------------------------------------------------------------
131 
133  bool isValid() const;
134 
137  Fw::SerialBufferBase& buffer,
139  ) const;
140 
143  Fw::SerialBufferBase& buffer,
145  );
146 
147 #if FW_SERIALIZABLE_TO_STRING
148 
150  void toString(
151  Fw::StringBase& sb
152  ) const;
153 
154 #endif
155 
156  public:
157 
158  // ----------------------------------------------------------------------
159  // Member variables
160  // ----------------------------------------------------------------------
161 
163  enum T e;
164 
165  };
166 
167 }
168 
169 #endif
enum T e
The raw enum value.
VersionEnabled(const enum T e1)
Constructor (user-provided value)
VersionEnabled()
Constructor (default value of DISABLED)
bool operator!=(enum T e1) const
Inequality operator.
SerializeStatus
forward declaration for string
U8 SerialType
The serial representation type.
bool isValid() const
Check raw enum value for validity.
The size of the serial representation.
VersionEnabled(const VersionEnabled &obj)
Copy constructor.
The number of enumerated constants.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
VersionEnabled & operator=(const VersionEnabled &obj)
Copy assignment operator (object)
bool operator==(enum T e1) const
Equality operator.
RateGroupDivider component implementation.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
Endianness
Tracks versions for project, framework and user defined versions etc.
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
enum T t
For backwards compatibility.
Big endian serialization.