Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
CharacteristicBuffer Class Reference

CharacteristicBuffer is a byte array with header. More...

#include <cs_CharacteristicBuffer.h>

Inheritance diagram for CharacteristicBuffer:

Public Member Functions

void alloc (cs_buffer_size_t size)
 Allocate the buffer. More...
 
void clear ()
 Clear the buffer. More...
 
bool lock ()
 Lock the buffer. More...
 
bool unlock ()
 Unlock the buffer. More...
 
bool isLocked ()
 Check if buffer is locked. More...
 
cs_data_t getBuffer (cs_buffer_size_t offset=CS_CHAR_BUFFER_DEFAULT_OFFSET)
 Get the buffer. More...
 
void getBuffer (buffer_ptr_t &buffer, uint16_t &size, cs_buffer_size_t offset=CS_CHAR_BUFFER_DEFAULT_OFFSET)
 Get the buffer. More...
 
cs_buffer_size_t size (cs_buffer_size_t offset=CS_CHAR_BUFFER_DEFAULT_OFFSET)
 Get size of the buffer. More...
 

Protected Member Functions

 CharacteristicBuffer ()
 
 ~CharacteristicBuffer ()
 
 CharacteristicBuffer (CharacteristicBuffer const &)=delete
 Copy constructor, singleton, thus made private. More...
 
CharacteristicBufferoperator= (CharacteristicBuffer const &)=delete
 Assignment operator, singleton, thus made private. More...
 

Protected Attributes

buffer_ptr_t _buffer = nullptr
 
cs_buffer_size_t _size = 0
 
bool _locked = false
 

Detailed Description

CharacteristicBuffer is a byte array with header.

The CharacteristicBuffer is used to put in all kind of data. This data is unorganized. The CharacteristicBuffer can also be accessed through more dedicated structures. This allows to read/write from the buffer directly or other types of sophisticated objects.

The disadvantage is that the data will be overwritten by the different accessors. The advantage is that the data fits actually in the device RAM.

Constructor & Destructor Documentation

◆ CharacteristicBuffer() [1/2]

◆ ~CharacteristicBuffer()

CharacteristicBuffer::~CharacteristicBuffer ( )
protected

◆ CharacteristicBuffer() [2/2]

Copy constructor, singleton, thus made private.

Member Function Documentation

◆ alloc()

void CharacteristicBuffer::alloc ( cs_buffer_size_t  size)

Allocate the buffer.

◆ clear()

void CharacteristicBuffer::clear ( )

Clear the buffer.

◆ getBuffer() [1/2]

void CharacteristicBuffer::getBuffer ( buffer_ptr_t buffer,
uint16_t &  size,
cs_buffer_size_t  offset = CS_CHAR_BUFFER_DEFAULT_OFFSET 
)

Get the buffer.

Parameters
[out]bufferWill be set to point to the buffer.
[out]sizeWill be set to the size of the buffer pointed to.
[in]offsetReturned buffer will have this offset from the internal buffer.

◆ getBuffer() [2/2]

cs_data_t CharacteristicBuffer::getBuffer ( cs_buffer_size_t  offset = CS_CHAR_BUFFER_DEFAULT_OFFSET)

Get the buffer.

Parameters
[in]offsetReturned buffer will have this offset from the internal buffer.
Returns
Struct with pointer to the buffer and size of the buffer.

◆ isLocked()

bool CharacteristicBuffer::isLocked ( )

Check if buffer is locked.

Returns
True when locked.

◆ lock()

bool CharacteristicBuffer::lock ( )

Lock the buffer.

Returns
True on success.

◆ operator=()

CharacteristicBuffer & CharacteristicBuffer::operator= ( CharacteristicBuffer const &  )
protecteddelete

Assignment operator, singleton, thus made private.

◆ size()

cs_buffer_size_t CharacteristicBuffer::size ( cs_buffer_size_t  offset = CS_CHAR_BUFFER_DEFAULT_OFFSET)

Get size of the buffer.

Parameters
[in]offsetOffset from the internal buffer, same as in getBuffer().
Returns
Size of the buffer.

◆ unlock()

bool CharacteristicBuffer::unlock ( )

Unlock the buffer.

Returns
True on success.

Member Data Documentation

◆ _buffer

buffer_ptr_t CharacteristicBuffer::_buffer = nullptr
protected

◆ _locked

bool CharacteristicBuffer::_locked = false
protected

◆ _size

cs_buffer_size_t CharacteristicBuffer::_size = 0
protected

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