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 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 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  T e1
96  );
97 
99  operator T() const
100  {
101  return this->e;
102  }
103 
105  bool operator==(T e1) const
106  {
107  return this->e == e1;
108  }
109 
111  bool operator!=(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  T e;
164 
165  };
166 
167 }
168 
169 #endif
VersionEnabled(const T e1)
Constructor (user-provided value)
T t
For backwards compatibility.
VersionEnabled()
Constructor (default value of DISABLED)
bool operator!=(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.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
VersionEnabled & operator=(const VersionEnabled &obj)
Copy assignment operator (object)
bool operator==(T e1) const
Equality operator.
T e
The raw enum value.
The number of enumerated constants.
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.
Big endian serialization.