F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
Fw::SerialBuffer Class Reference

A variable-length serializable buffer. More...

#include <Fw/Types/SerialBuffer.hpp>

Inheritance diagram for Fw::SerialBuffer:
Fw::SerializeBufferBase

Public Member Functions

 SerialBuffer (U8 *const data, const U32 capacity)
 
NATIVE_UINT_TYPE getBuffCapacity () const
 returns capacity, not current size, of buffer
 
U8getBuffAddr ()
 gets buffer address for data filling
 
const U8getBuffAddr () const
 gets buffer address for data reading, const version
 
void fill ()
 Fill the buffer to capacity with preexisting data.
 
SerializeStatus pushBytes (const U8 *const addr, const NATIVE_UINT_TYPE n)
 Push n bytes onto the buffer.
 
SerializeStatus popBytes (U8 *const addr, NATIVE_UINT_TYPE n)
 Pop n bytes off the buffer.
 
- Public Member Functions inherited from Fw::SerializeBufferBase
virtual ~SerializeBufferBase ()
 destructor
 
SerializeStatus serialize (U8 val)
 serialize 8-bit unsigned int
 
SerializeStatus serialize (I8 val)
 serialize 8-bit signed int
 
SerializeStatus serialize (F32 val)
 serialize 32-bit floating point
 
SerializeStatus serialize (bool val)
 serialize boolean
 
SerializeStatus serialize (const void *val)
 serialize pointer (careful, only pointer value, not contents are serialized)
 
SerializeStatus serialize (const U8 *buff, NATIVE_UINT_TYPE length, bool noLength)
 serialize data buffer
 
SerializeStatus serialize (const U8 *buff, NATIVE_UINT_TYPE length)
 serialize data buffer
 
SerializeStatus serialize (const U8 *buff, FwSizeType length, Serialization::t mode)
 serialize a byte buffer of a given length
 
SerializeStatus serialize (const SerializeBufferBase &val)
 serialize a serialized buffer
 
SerializeStatus serialize (const Serializable &val)
 serialize an object derived from serializable base class
 
SerializeStatus serializeSize (const FwSizeType size)
 serialize a size value
 
SerializeStatus deserialize (U8 &val)
 deserialize 8-bit unsigned int
 
SerializeStatus deserialize (I8 &val)
 deserialize 8-bit signed int
 
SerializeStatus deserialize (F32 &val)
 deserialize 32-bit floating point
 
SerializeStatus deserialize (bool &val)
 deserialize boolean
 
SerializeStatus deserialize (void *&val)
 deserialize point value (careful, pointer value only, not contents)
 
SerializeStatus deserialize (U8 *buff, NATIVE_UINT_TYPE &length, bool noLength)
 deserialize data buffer
 
SerializeStatus deserialize (U8 *buff, NATIVE_UINT_TYPE &length)
 deserialize data buffer
 
SerializeStatus deserialize (U8 *buff, FwSizeType &length, Serialization::t mode)
 deserialize a byte buffer of a given length
 
SerializeStatus deserialize (Serializable &val)
 deserialize an object derived from serializable base class
 
SerializeStatus deserialize (SerializeBufferBase &val)
 serialize a serialized buffer
 
SerializeStatus deserializeSize (FwSizeType &size)
 deserialize a size value
 
void resetSer ()
 reset to beginning of buffer to reuse for serialization
 
void resetDeser ()
 reset deserialization to beginning
 
SerializeStatus moveSerToOffset (FwSizeType offset)
 Moves serialization to the specified offset.
 
SerializeStatus moveDeserToOffset (FwSizeType offset)
 Moves deserialization to the specified offset.
 
SerializeStatus serializeSkip (FwSizeType numBytesToSkip)
 Skips the number of specified bytes for serialization.
 
SerializeStatus deserializeSkip (FwSizeType numBytesToSkip)
 Skips the number of specified bytes for deserialization.
 
Serializable::SizeType getBuffLength () const
 returns current buffer size
 
Serializable::SizeType getBuffLeft () const
 returns how much deserialization buffer is left
 
const U8getBuffAddrLeft () const
 gets address of remaining non-deserialized data.
 
U8getBuffAddrSer ()
 
SerializeStatus setBuff (const U8 *src, Serializable::SizeType length)
 sets buffer contents and size
 
SerializeStatus setBuffLen (Serializable::SizeType length)
 sets buffer length manually after filling with data
 
SerializeStatus copyRaw (SerializeBufferBase &dest, Serializable::SizeType size)
 directly copies buffer without looking for a size in the stream.
 
SerializeStatus copyRawOffset (SerializeBufferBase &dest, Serializable::SizeType size)
 directly copies buffer without looking for a size in the stream.
 

Additional Inherited Members

- Protected Member Functions inherited from Fw::SerializeBufferBase
SerializeBufferBaseoperator= (const SerializeBufferBase &src)
 copy assignment operator
 
 SerializeBufferBase ()
 default constructor
 

Detailed Description

A variable-length serializable buffer.

Definition at line 24 of file SerialBuffer.hpp.

Constructor & Destructor Documentation

◆ SerialBuffer()

Fw::SerialBuffer::SerialBuffer ( U8 *const  data,
const U32  capacity 
)

Construct a SerialBuffer

Parameters
dataPointer to the data
capacityThe buffer capacity

Definition at line 18 of file SerialBuffer.cpp.

Member Function Documentation

◆ fill()

void Fw::SerialBuffer::fill ( )

Fill the buffer to capacity with preexisting data.

Definition at line 32 of file SerialBuffer.cpp.

◆ getBuffAddr() [1/2]

U8 * Fw::SerialBuffer::getBuffAddr ( )
virtual

gets buffer address for data filling

Implements Fw::SerializeBufferBase.

Definition at line 24 of file SerialBuffer.cpp.

◆ getBuffAddr() [2/2]

const U8 * Fw::SerialBuffer::getBuffAddr ( ) const
virtual

gets buffer address for data reading, const version

Implements Fw::SerializeBufferBase.

Definition at line 28 of file SerialBuffer.cpp.

◆ getBuffCapacity()

NATIVE_UINT_TYPE Fw::SerialBuffer::getBuffCapacity ( ) const
virtual

returns capacity, not current size, of buffer

Implements Fw::SerializeBufferBase.

Definition at line 20 of file SerialBuffer.cpp.

◆ popBytes()

SerializeStatus Fw::SerialBuffer::popBytes ( U8 *const  addr,
NATIVE_UINT_TYPE  n 
)

Pop n bytes off the buffer.

Parameters
addrAddress of bytes to pop
nNumber of bytes to pop

Definition at line 42 of file SerialBuffer.cpp.

◆ pushBytes()

SerializeStatus Fw::SerialBuffer::pushBytes ( const U8 *const  addr,
const NATIVE_UINT_TYPE  n 
)

Push n bytes onto the buffer.

Parameters
addrAddress of bytes to push
nNumber of bytes

Definition at line 37 of file SerialBuffer.cpp.


The documentation for this class was generated from the following files: