F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StructSerializable.cpp
Go to the documentation of this file.
2 #include <Fw/Types/Assert.hpp>
3 
4 namespace Fw {
5 
7  }
8 
9  template <class T> StructSerializable<T>::StructSerializable(const T& val) {
10  this->m_val = val;
11  }
12 
13  template <class T> StructSerializable<T>::StructSerializable(const T* val) {
14  FW_ASSERT(val);
15  this->m_val = *val;
16  }
17 
18  template <class T> const T& StructSerializable<T>::operator=(const T& val) {
19  this->m_val = val;
20  return val;
21  }
22 
24  }
25 
26  template <class T> void StructSerializable<T>::set(const T& val) {
27  this->m_val = val;
28  }
29 
30  template <class T> const T& StructSerializable<T>::get(void) {
31  return this->m_val;
32  }
33 
35  if (sizeof(T) > buffer.getBuffLeft()) {
37  }
38  return buffer.serialize(static_cast<U8*>(&this->m_val),sizeof(T));
39  }
40 
42  return buffer.deserialize(static_cast<U8*>(&this->m_val),sizeof(T));
43  }
44 
45 }
46 
Fw::StructSerializable::serialize
Fw::SerializeStatus serialize(Fw::SerializeBufferBase &buffer) const
serialize contents
Definition: StructSerializable.cpp:34
Fw::StructSerializable::set
void set(const T &val)
Definition: StructSerializable.cpp:26
StructSerializable.hpp
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Fw::SerializeStatus
SerializeStatus
forward declaration for string
Definition: Serializable.hpp:14
Fw::FW_DESERIALIZE_SIZE_MISMATCH
@ FW_DESERIALIZE_SIZE_MISMATCH
Data was left in in the buffer, but not enough to deserialize.
Definition: Serializable.hpp:20
Fw::StructSerializable::~StructSerializable
virtual ~StructSerializable()
Definition: StructSerializable.cpp:23
Fw::SerializeBufferBase::serialize
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
Definition: Serializable.cpp:67
U8
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.hpp:76
Fw::StructSerializable::deserialize
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
deserialize to contents
Definition: StructSerializable.cpp:41
Fw::StructSerializable::StructSerializable
StructSerializable()
Definition: StructSerializable.cpp:6
Assert.hpp
Fw::SerializeBufferBase::getBuffLeft
NATIVE_UINT_TYPE getBuffLeft() const
returns how much deserialization buffer is left
Definition: Serializable.cpp:614
Fw::StructSerializable::operator=
const T & operator=(const T &val)
Definition: StructSerializable.cpp:18
FW_ASSERT
#define FW_ASSERT(...)
Definition: Assert.hpp:9
Fw::SerializeBufferBase::deserialize
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
Definition: Serializable.cpp:290
Fw
Definition: Buffer.cpp:21
Fw::StructSerializable::get
const T & get(void)
Definition: StructSerializable.cpp:30