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

A container class for holding a hash buffer. More...

#include <Utils/Hash/HashBuffer.hpp>

Inheritance diagram for Utils::HashBuffer:
Fw::LinearBufferBase Fw::SerialBufferBase

Public Member Functions

 HashBuffer (const U8 *args, FwSizeType size)
 
 HashBuffer (const HashBuffer &other)
 
 HashBuffer ()
 
virtual ~HashBuffer ()
 
HashBufferoperator= (const HashBuffer &other)
 
bool operator== (const HashBuffer &other) const
 
bool operator!= (const HashBuffer &other) const
 
 DEPRECATED (FwSizeType getBuffCapacity() const, "Use getCapacity() instead")
 
FwSizeType getCapacity () const
 Get buffer capacity. More...
 
U8getBuffAddr ()
 
const U8getBuffAddr () const
 Get buffer address for data reading (const version) More...
 
U32 asBigEndianU32 () const
 Convert bytes 0 through 3 of the hash data to a big-Endian U32 value. 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 U8getBuffAddrLeft () const
 Get address of remaining non-deserialized data. More...
 
U8getBuffAddrSer ()
 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...
 

Additional Inherited Members

- Protected Member Functions inherited from Fw::LinearBufferBase
LinearBufferBaseoperator= (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...
 
- 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...
 

Detailed Description

A container class for holding a hash buffer.

Definition at line 26 of file HashBuffer.hpp.

Constructor & Destructor Documentation

◆ HashBuffer() [1/3]

Utils::HashBuffer::HashBuffer ( const U8 args,
FwSizeType  size 
)

Construct a HashBuffer object

Definition at line 12 of file HashBufferCommon.cpp.

◆ HashBuffer() [2/3]

Utils::HashBuffer::HashBuffer ( const HashBuffer other)

Definition at line 19 of file HashBufferCommon.cpp.

◆ HashBuffer() [3/3]

Utils::HashBuffer::HashBuffer ( )

Definition at line 10 of file HashBufferCommon.cpp.

◆ ~HashBuffer()

Utils::HashBuffer::~HashBuffer ( )
virtual

Destroy a HashBuffer object

Definition at line 17 of file HashBufferCommon.cpp.

Member Function Documentation

◆ asBigEndianU32()

U32 Utils::HashBuffer::asBigEndianU32 ( ) const

Convert bytes 0 through 3 of the hash data to a big-Endian U32 value.

Definition at line 62 of file HashBufferCommon.cpp.

◆ DEPRECATED()

Utils::HashBuffer::DEPRECATED ( FwSizeType getBuffCapacity()  const,
"Use getCapacity() instead"   
)

Get the total buffer length of a hash buffer

◆ getBuffAddr() [1/2]

U8 * Utils::HashBuffer::getBuffAddr ( )
virtual

Get a pointer to the buffer within the hash buffer

Implements Fw::LinearBufferBase.

Definition at line 50 of file HashBufferCommon.cpp.

◆ getBuffAddr() [2/2]

const U8 * Utils::HashBuffer::getBuffAddr ( ) const
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.

Returns
Const pointer to the buffer's data area

Implements Fw::LinearBufferBase.

Definition at line 46 of file HashBufferCommon.cpp.

◆ getCapacity()

FwSizeType Utils::HashBuffer::getCapacity ( ) const
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.

Returns
The capacity of the buffer in bytes

Implements Fw::LinearBufferBase.

Definition at line 54 of file HashBufferCommon.cpp.

◆ operator!=()

bool Utils::HashBuffer::operator!= ( const HashBuffer other) const

Compare two hash buffers for inequality

Definition at line 42 of file HashBufferCommon.cpp.

◆ operator=()

HashBuffer & Utils::HashBuffer::operator= ( const HashBuffer other)

Assign a hash buffer from another hash buffer

Definition at line 24 of file HashBufferCommon.cpp.

◆ operator==()

bool Utils::HashBuffer::operator== ( const HashBuffer other) const

Compare two hash buffers for equality

Definition at line 34 of file HashBufferCommon.cpp.


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