F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Fw::SerializeBufferBase Class Referenceabstract

#include <Fw/Types/Serializable.hpp>

Inheritance diagram for Fw::SerializeBufferBase:
Drv::DataBuffer Fw::ActiveComponentExitSerializableBuffer Fw::CmdArgBuffer Fw::ComBuffer Fw::ExternalSerializeBuffer Fw::LogBuffer Fw::ParamBuffer Fw::SerialBuffer Fw::SmSignalBuffer Fw::StatementArgBuffer Fw::TlmBuffer Utils::HashBuffer

Public Member Functions

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

Protected Member Functions

SerializeBufferBaseoperator= (const SerializeBufferBase &src)
 copy assignment operator More...
 
 SerializeBufferBase ()
 default constructor More...
 

Protected Attributes

Serializable::SizeType m_serLoc
 current offset in buffer of serialized data More...
 
Serializable::SizeType m_deserLoc
 current offset for deserialization More...
 

Detailed Description

Definition at line 54 of file Serializable.hpp.

Constructor & Destructor Documentation

◆ ~SerializeBufferBase()

Fw::SerializeBufferBase::~SerializeBufferBase ( )
virtual

destructor

Definition at line 41 of file Serializable.cpp.

◆ SerializeBufferBase()

Fw::SerializeBufferBase::SerializeBufferBase ( )
protected

default constructor

Definition at line 39 of file Serializable.cpp.

Member Function Documentation

◆ copyRaw()

SerializeStatus Fw::SerializeBufferBase::copyRaw ( SerializeBufferBase dest,
Serializable::SizeType  size 
)

directly copies buffer without looking for a size in the stream.

Definition at line 674 of file Serializable.cpp.

◆ copyRawOffset()

SerializeStatus Fw::SerializeBufferBase::copyRawOffset ( SerializeBufferBase dest,
Serializable::SizeType  size 
)

directly copies buffer without looking for a size in the stream.

Definition at line 687 of file Serializable.cpp.

◆ deserialize() [1/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( U8 val)

deserialize 8-bit unsigned int

Definition at line 296 of file Serializable.cpp.

◆ deserialize() [2/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( I8 val)

deserialize 8-bit signed int

Definition at line 310 of file Serializable.cpp.

◆ deserialize() [3/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( F32 val)

deserialize 32-bit floating point

Definition at line 487 of file Serializable.cpp.

◆ deserialize() [4/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( F64 val)

deserialize 64-bit floating point

Definition at line 443 of file Serializable.cpp.

◆ deserialize() [5/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( bool &  val)

deserialize boolean

Definition at line 456 of file Serializable.cpp.

◆ deserialize() [6/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( void *&  val)

deserialize point value (careful, pointer value only, not contents)

Definition at line 477 of file Serializable.cpp.

◆ deserialize() [7/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( U8 buff,
FwSizeType length,
bool  noLength 
)

deserialize data buffer

Definition at line 506 of file Serializable.cpp.

◆ deserialize() [8/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( U8 buff,
FwSizeType length 
)

deserialize data buffer

Definition at line 499 of file Serializable.cpp.

◆ deserialize() [9/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( U8 buff,
FwSizeType length,
Serialization::t  mode 
)

deserialize a byte buffer of a given length

Deserialize bytes into buff of length bytes. If serializationMode is set to INCLUDE_LENGTH then the length is deserialized first followed by the bytes. Length may be omitted with OMIT_LENGTH and in this case length bytes will be deserialized. length will be filled with the amount of data deserialized.

Parameters
buffbuffer to hold deserialized data
lengthlength of data to deserialize length is filled with deserialized length
modedeserialization type
Returns
status of serialization

Definition at line 514 of file Serializable.cpp.

◆ deserialize() [10/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( Serializable val)

deserialize an object derived from serializable base class

Definition at line 548 of file Serializable.cpp.

◆ deserialize() [11/11]

SerializeStatus Fw::SerializeBufferBase::deserialize ( SerializeBufferBase val)

serialize a serialized buffer

Definition at line 552 of file Serializable.cpp.

◆ deserializeSize()

SerializeStatus Fw::SerializeBufferBase::deserializeSize ( FwSizeType size)

deserialize a size value

Definition at line 584 of file Serializable.cpp.

◆ deserializeSkip()

SerializeStatus Fw::SerializeBufferBase::deserializeSkip ( FwSizeType  numBytesToSkip)

Skips the number of specified bytes for deserialization.

Definition at line 616 of file Serializable.cpp.

◆ getBuffAddr() [1/2]

◆ getBuffAddr() [2/2]

virtual const U8* Fw::SerializeBufferBase::getBuffAddr ( ) const
pure virtual

◆ getBuffAddrLeft()

const U8 * Fw::SerializeBufferBase::getBuffAddrLeft ( ) const

gets address of remaining non-deserialized data.

gets address of end of serialization. Used to manually place data at the end

Definition at line 707 of file Serializable.cpp.

◆ getBuffAddrSer()

U8 * Fw::SerializeBufferBase::getBuffAddrSer ( )

gets address of end of serialization. DANGEROUS! Need to know max buffer size and adjust when done

Definition at line 712 of file Serializable.cpp.

◆ getBuffCapacity()

◆ getBuffLeft()

Serializable::SizeType Fw::SerializeBufferBase::getBuffLeft ( ) const

returns how much deserialization buffer is left

Definition at line 668 of file Serializable.cpp.

◆ getBuffLength()

Serializable::SizeType Fw::SerializeBufferBase::getBuffLength ( ) const

returns current buffer size

Definition at line 641 of file Serializable.cpp.

◆ moveDeserToOffset()

SerializeStatus Fw::SerializeBufferBase::moveDeserToOffset ( FwSizeType  offset)

Moves deserialization to the specified offset.

Definition at line 634 of file Serializable.cpp.

◆ moveSerToOffset()

SerializeStatus Fw::SerializeBufferBase::moveSerToOffset ( FwSizeType  offset)

Moves serialization to the specified offset.

Definition at line 628 of file Serializable.cpp.

◆ operator=()

SerializeBufferBase & Fw::SerializeBufferBase::operator= ( const SerializeBufferBase src)
protected

copy assignment operator

Definition at line 56 of file Serializable.cpp.

◆ resetDeser()

void Fw::SerializeBufferBase::resetDeser ( )

reset deserialization to beginning

Definition at line 598 of file Serializable.cpp.

◆ resetSer()

void Fw::SerializeBufferBase::resetSer ( )

reset to beginning of buffer to reuse for serialization

Definition at line 593 of file Serializable.cpp.

◆ serialize() [1/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( U8  val)

serialize 8-bit unsigned int

Definition at line 63 of file Serializable.cpp.

◆ serialize() [2/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( I8  val)

serialize 8-bit signed int

Definition at line 75 of file Serializable.cpp.

◆ serialize() [3/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( F32  val)

serialize 32-bit floating point

Definition at line 192 of file Serializable.cpp.

◆ serialize() [4/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( F64  val)

serialize 64-bit floating point

Definition at line 185 of file Serializable.cpp.

◆ serialize() [5/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( bool  val)

serialize boolean

Definition at line 199 of file Serializable.cpp.

◆ serialize() [6/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( const void *  val)

serialize pointer (careful, only pointer value, not contents are serialized)

Definition at line 216 of file Serializable.cpp.

◆ serialize() [7/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( const U8 buff,
FwSizeType  length,
bool  noLength 
)

serialize data buffer

Definition at line 228 of file Serializable.cpp.

◆ serialize() [8/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( const U8 buff,
FwSizeType  length 
)

serialize data buffer

Definition at line 224 of file Serializable.cpp.

◆ serialize() [9/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( const U8 buff,
FwSizeType  length,
Serialization::t  mode 
)

serialize a byte buffer of a given length

Serialize bytes from buff up to length. If serializationMode is set to INCLUDE_LENGTH then the length is included as the first token. Length may be omitted with OMIT_LENGTH.

Parameters
buffbuffer to serialize
lengthlength of data to serialize
modeserialization type
Returns
status of serialization

Definition at line 233 of file Serializable.cpp.

◆ serialize() [10/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( const SerializeBufferBase val)

serialize a serialized buffer

Definition at line 260 of file Serializable.cpp.

◆ serialize() [11/11]

SerializeStatus Fw::SerializeBufferBase::serialize ( const Serializable val)

serialize an object derived from serializable base class

Definition at line 256 of file Serializable.cpp.

◆ serializeSize()

SerializeStatus Fw::SerializeBufferBase::serializeSize ( const FwSizeType  size)

serialize a size value

Definition at line 283 of file Serializable.cpp.

◆ serializeSkip()

SerializeStatus Fw::SerializeBufferBase::serializeSkip ( FwSizeType  numBytesToSkip)

Skips the number of specified bytes for serialization.

Definition at line 602 of file Serializable.cpp.

◆ setBuff()

SerializeStatus Fw::SerializeBufferBase::setBuff ( const U8 src,
Serializable::SizeType  length 
)

sets buffer contents and size

Definition at line 645 of file Serializable.cpp.

◆ setBuffLen()

SerializeStatus Fw::SerializeBufferBase::setBuffLen ( Serializable::SizeType  length)

sets buffer length manually after filling with data

Definition at line 658 of file Serializable.cpp.

Member Data Documentation

◆ m_deserLoc

Serializable::SizeType Fw::SerializeBufferBase::m_deserLoc
protected

current offset for deserialization

Definition at line 192 of file Serializable.hpp.

◆ m_serLoc

Serializable::SizeType Fw::SerializeBufferBase::m_serLoc
protected

current offset in buffer of serialized data

Definition at line 191 of file Serializable.hpp.


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