F´ Flight Software - C/C++ Documentation  NASA-v2.0.0
A framework for building embedded system applications to NASA flight quality standards.
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