![]() |
F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
|
External serialize buffer with no copy semantics. More...
#include <Fw/Types/Serializable.hpp>
Public Member Functions | |
| ExternalSerializeBuffer (U8 *buffPtr, Serializable::SizeType size) | |
| Construct with external buffer. More... | |
| ExternalSerializeBuffer () | |
| Default constructor. More... | |
| ~ExternalSerializeBuffer () | |
| Destructor. More... | |
| void | setExtBuffer (U8 *buffPtr, Serializable::SizeType size) |
| Set the external buffer. More... | |
| void | clear () |
| Clear external buffer. More... | |
| ExternalSerializeBuffer (const ExternalSerializeBuffer &src)=delete | |
| Deleted copy constructor. More... | |
| DEPRECATED (Serializable::SizeType getBuffCapacity() const, "Use getCapacity() instead") | |
| Serializable::SizeType | getCapacity () const |
| Get buffer capacity. More... | |
| U8 * | getBuffAddr () |
| Get buffer address for data filling (non-const version) More... | |
| const U8 * | getBuffAddr () const |
| Get buffer address for data reading (const version) More... | |
| ExternalSerializeBuffer & | operator= (const LinearBufferBase &src)=delete |
| Deleted copy assignment operator. More... | |
Public Member Functions inherited from Fw::LinearBufferBase | |
| virtual | ~LinearBufferBase () |
| Destructor. More... | |
| SerializeStatus | serializeFrom (U8 val, Endianness mode=Endianness::BIG) override |
| Serialize an 8-bit unsigned integer value. More... | |
| SerializeStatus | serializeFrom (I8 val, Endianness mode=Endianness::BIG) override |
| Serialize an 8-bit signed integer value. More... | |
| SerializeStatus | serializeFrom (F32 val, Endianness mode=Endianness::BIG) override |
| Serialize a 32-bit floating point value. More... | |
| SerializeStatus | serializeFrom (F64 val, Endianness mode=Endianness::BIG) override |
| Serialize a 64-bit floating point value. More... | |
| SerializeStatus | serializeFrom (bool val, Endianness mode=Endianness::BIG) override |
| Serialize a boolean value. More... | |
| SerializeStatus | serializeFrom (const void *val, Endianness mode=Endianness::BIG) override |
| Serialize a pointer value. More... | |
| SerializeStatus | serializeFrom (const U8 *buff, FwSizeType length, Endianness endianMode=Endianness::BIG) override |
| Serialize a data buffer. More... | |
| SerializeStatus | serializeFrom (const U8 *buff, FwSizeType length, Serialization::t lengthMode, Endianness endianMode=Endianness::BIG) override |
| Serialize a byte buffer with optional length prefix. More... | |
| SerializeStatus | serializeFrom (const LinearBufferBase &val, Endianness mode=Endianness::BIG) override |
| Serialize another LinearBufferBase object. More... | |
| SerializeStatus | serializeFrom (const Serializable &val, Endianness mode=Endianness::BIG) override |
| Serialize a Serializable object. More... | |
| SerializeStatus | serializeSize (const FwSizeType size, Endianness mode=Endianness::BIG) override |
| Serialize a size value. More... | |
| SerializeStatus | deserializeTo (U8 &val, Endianness mode=Endianness::BIG) override |
| Deserialize an 8-bit unsigned integer value. More... | |
| SerializeStatus | deserializeTo (I8 &val, Endianness mode=Endianness::BIG) override |
| Deserialize an 8-bit signed integer value. More... | |
| SerializeStatus | deserializeTo (F32 &val, Endianness mode=Endianness::BIG) override |
| Deserialize a 32-bit floating point value. More... | |
| SerializeStatus | deserializeTo (F64 &val, Endianness mode=Endianness::BIG) override |
| Deserialize a 64-bit floating point value. More... | |
| SerializeStatus | deserializeTo (bool &val, Endianness mode=Endianness::BIG) override |
| Deserialize a boolean value. More... | |
| SerializeStatus | deserializeTo (void *&val, Endianness mode=Endianness::BIG) override |
| Deserialize a pointer value. More... | |
| SerializeStatus | deserializeTo (U8 *buff, FwSizeType &length, Endianness endianMode=Endianness::BIG) override |
| Deserialize a data buffer. More... | |
| SerializeStatus | deserializeTo (U8 *buff, FwSizeType &length, Serialization::t lengthMode, Endianness endianMode=Endianness::BIG) override |
| Deserialize a byte buffer with optional length prefix. More... | |
| SerializeStatus | deserializeTo (Serializable &val, Endianness mode=Endianness::BIG) override |
| Deserialize a Serializable object. More... | |
| SerializeStatus | deserializeTo (LinearBufferBase &val, Endianness mode=Endianness::BIG) override |
| Deserialize a LinearBufferBase object. More... | |
| SerializeStatus | deserializeSize (FwSizeType &size, Endianness mode=Endianness::BIG) override |
| Deserialize a size value. More... | |
| DEPRECATED (SerializeStatus serialize(const LinearBufferBase &val), "Use serializeFrom(const SerialBufferBase& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(LinearBufferBase &val), "Use deserializeTo(SerialBufferBase& val) instead") | |
| void | resetSer () override |
| Reset serialization pointer to beginning of buffer. More... | |
| void | resetDeser () override |
| Reset deserialization pointer to beginning of buffer. More... | |
| SerializeStatus | moveSerToOffset (FwSizeType offset) override |
| Move serialization pointer to specified offset. More... | |
| SerializeStatus | moveDeserToOffset (FwSizeType offset) override |
| Move deserialization pointer to specified offset. More... | |
| SerializeStatus | serializeSkip (FwSizeType numBytesToSkip) override |
| Skip specified number of bytes during serialization. More... | |
| SerializeStatus | deserializeSkip (FwSizeType numBytesToSkip) override |
| Skip specified number of bytes during deserialization. More... | |
| DEPRECATED (Serializable::SizeType getBuffCapacity() const, "Use getCapacity() instead") | |
| DEPRECATED (Serializable::SizeType getBuffLength() const, "Use getSize() instead") | |
| DEPRECATED (Serializable::SizeType getBuffLeft(), "Use getDeserializeSizeLeft() instead") | |
| Serializable::SizeType | getSize () const override |
| Get current buffer size. More... | |
| Serializable::SizeType | getDeserializeSizeLeft () const override |
| Get remaining deserialization buffer size. More... | |
| Serializable::SizeType | getSerializeSizeLeft () const override |
| Get remaining serialization buffer size. More... | |
| const U8 * | getBuffAddrLeft () const |
| Get address of remaining non-deserialized data. More... | |
| U8 * | getBuffAddrSer () |
| Get address of end of serialization (DANGEROUS!) More... | |
| SerializeStatus | setBuff (const U8 *src, Serializable::SizeType length) override |
| Set buffer contents from external source. More... | |
| SerializeStatus | setBuffLen (Serializable::SizeType length) override |
| Set buffer length manually. More... | |
| SerializeStatus | copyRaw (SerialBufferBase &dest, Serializable::SizeType size) override |
| Copy raw bytes from this buffer to destination and advance source offset. More... | |
| SerializeStatus | copyRawOffset (SerialBufferBase &dest, Serializable::SizeType size) override |
| Append raw bytes to destination from this buffer and advance source offset. More... | |
| DEPRECATED (SerializeStatus serialize(U8 val), "Use serializeFrom(U8 val) instead") | |
| DEPRECATED (SerializeStatus serialize(I8 val), "Use serializeFrom(I8 val) instead") | |
| DEPRECATED (SerializeStatus serialize(F32 val), "Use serializeFrom(F32 val) instead") | |
| DEPRECATED (SerializeStatus serialize(F64 val), "Use serializeFrom(F64 val) instead") | |
| DEPRECATED (SerializeStatus serialize(bool val), "Use serializeFrom(bool val) instead") | |
| DEPRECATED (SerializeStatus serialize(const void *val), "Use serializeFrom(const void* val) instead") | |
| DEPRECATED (SerializeStatus serialize(const U8 *buff, FwSizeType length, bool noLength), "Use serialize(const U8* buff, FwSizeType length, Serialization::t mode) instead") | |
| DEPRECATED (SerializeStatus serialize(const U8 *buff, FwSizeType length), "Use serializeFrom(const U8* buff, FwSizeType length) instead") | |
| DEPRECATED (SerializeStatus serialize(const U8 *buff, FwSizeType length, Serialization::t mode), "Use serializeFrom(const U8* buff, FwSizeType length, Serialization::t mode) instead") | |
| DEPRECATED (SerializeStatus serialize(const Serializable &val), "Use serializeFrom(const Serializable& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(U8 &val), "Use deserializeTo(U8& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(I8 &val), "Use deserializeTo(I8& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(F32 &val), "Use deserializeTo(F32& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(F64 &val), "Use deserializeTo(F64& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(bool &val), "Use deserializeTo(bool& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(void *&val), "Use deserializeTo(void*& val) instead") | |
| DEPRECATED (SerializeStatus deserialize(U8 *buff, FwSizeType &length, bool noLength), "Use deserialize(U8* buff, FwSizeType& length, Serialization::t mode) instead") | |
| DEPRECATED (SerializeStatus deserialize(U8 *buff, FwSizeType &length), "Use deserializeTo(U8* buff, FwSizeType& length) instead") | |
| DEPRECATED (SerializeStatus deserialize(U8 *buff, FwSizeType &length, Serialization::t mode), "Use deserializeTo(U8* buff, FwSizeType& length, Serialization::t mode) instead") | |
| DEPRECATED (SerializeStatus deserialize(Serializable &val), "Use deserializeTo(Serializable& val) instead") | |
Public Member Functions inherited from Fw::SerialBufferBase | |
| virtual | ~SerialBufferBase () |
| Virtual destructor. More... | |
Protected Attributes | |
| U8 * | m_buff |
| pointer to external buffer More... | |
| Serializable::SizeType | m_buffSize |
| size of external buffer More... | |
Protected Attributes inherited from Fw::LinearBufferBase | |
| Serializable::SizeType | m_serLoc |
| current offset in buffer of serialized data More... | |
| Serializable::SizeType | m_deserLoc |
| current offset for deserialization More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Fw::LinearBufferBase | |
| LinearBufferBase & | operator= (const LinearBufferBase &src) |
| Copy assignment operator. More... | |
| LinearBufferBase () | |
| Default constructor. More... | |
| LinearBufferBase (const LinearBufferBase &src) | |
| Copy constructor (protected) More... | |
| void | copyFrom (const LinearBufferBase &src) |
| Copy data from source buffer. More... | |
External serialize buffer with no copy semantics.
This class provides a serialization buffer that uses an external buffer without copying data. It is designed for scenarios where you want to avoid data copying for performance reasons and are willing to manage the buffer lifetime manually.
Definition at line 1394 of file Serializable.hpp.
| Fw::ExternalSerializeBuffer::ExternalSerializeBuffer | ( | U8 * | buffPtr, |
| Serializable::SizeType | size | ||
| ) |
Construct with external buffer.
Creates an ExternalSerializeBuffer instance that uses the provided external buffer. The buffer must remain valid for the lifetime of this instance.
| buffPtr | Pointer to the external buffer |
| size | Size of the external buffer in bytes |
Definition at line 770 of file Serializable.cpp.
| Fw::ExternalSerializeBuffer::ExternalSerializeBuffer | ( | ) |
Default constructor.
Creates an ExternalSerializeBuffer instance without an external buffer. The buffer must be set later using setExtBuffer().
Definition at line 774 of file Serializable.cpp.
|
inline |
Destructor.
Destroys the ExternalSerializeBuffer instance. Note that this does not free the external buffer if one was set.
Definition at line 1416 of file Serializable.hpp.
|
delete |
Deleted copy constructor.
The copy constructor is deleted to prevent copying instances of ExternalSerializeBuffer, as this could lead to issues with buffer management.
| void Fw::ExternalSerializeBuffer::clear | ( | ) |
Clear external buffer.
Clears the external buffer reference. After calling this method, the buffer is effectively empty and cannot be used for serialization or deserialization until a new buffer is set.
Definition at line 785 of file Serializable.cpp.
| Fw::ExternalSerializeBuffer::DEPRECATED | ( | Serializable::SizeType getBuffCapacity() | const, |
| "Use getCapacity() instead" | |||
| ) |
|
virtual |
Get buffer address for data filling (non-const version)
This method returns a pointer to the buffer's data area where data can be written. This is the non-const version of the method, allowing the buffer contents to be modified.
Implements Fw::LinearBufferBase.
Definition at line 796 of file Serializable.cpp.
|
virtual |
Get buffer address for data reading (const version)
This method returns a const pointer to the buffer's data area where data can be read. This is the const version of the method, preventing modification of the buffer contents.
Implements Fw::LinearBufferBase.
Definition at line 800 of file Serializable.cpp.
|
virtual |
Get buffer capacity.
This method returns the total capacity of the buffer, which is the maximum amount of data that can be stored in the buffer. This is not the same as the current size, which indicates how much data is currently in the buffer.
Implements Fw::LinearBufferBase.
Definition at line 792 of file Serializable.cpp.
|
delete |
Deleted copy assignment operator.
The copy assignment operator is deleted to prevent copying instances of ExternalSerializeBuffer, as this could lead to issues with buffer management.
| void Fw::ExternalSerializeBuffer::setExtBuffer | ( | U8 * | buffPtr, |
| Serializable::SizeType | size | ||
| ) |
Set the external buffer.
Sets a new external buffer for this instance. This action also resets the serialization and deserialization pointers to the beginning of the new buffer.
| buffPtr | Pointer to the new external buffer |
| size | Size of the new external buffer in bytes |
Definition at line 778 of file Serializable.cpp.
|
protected |
pointer to external buffer
Definition at line 1480 of file Serializable.hpp.
|
protected |
size of external buffer
Definition at line 1481 of file Serializable.hpp.