Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



PvPleoraCompressed Class Referenceabstract

Pleora compressed interface to a PvBuffer. More...

#include <PvPleoraCompressed.h>

Public Member Functions

virtual uint64_t GetPayloadLength () const =0
 Get the payload length specified in the leader information of this block. More...
 
virtual void SetPayloadLength (uint64_t aLength)=0
 Sets the effective payload length for the buffer. More...
 
virtual PvResult Alloc (uint64_t aPayloadLength)=0
 Allocates memory for this PvPleoraCompressed. More...
 
virtual void Free ()=0
 Frees (de-allocates) the buffer's internal memory. More...
 
virtual PvResult Attach (void *aRawBuffer, uint64_t aPayloadLength)=0
 Attach this PvPleoraCompressed to an external memory buffer. More...
 
virtual uint8_t * Detach ()=0
 Releases an attached memory buffer. More...
 

Detailed Description

Pleora compressed interface to a PvBuffer.

A PvBuffer represents a generic buffer with no specific payload type. If the payload type is Pleora compressed, the user can obtain a pointer to a PvPleoraCompressed buffer interface through PvBuffer::GetPleoraCompressed.

This PvPleoraCompressed pointer is owned by the PvBuffer and does not need to be released after use. It is valid as long as the PvBuffer exists.

Member Function Documentation

◆ Alloc()

virtual PvResult PvPleoraCompressed::Alloc ( uint64_t  aPayloadLength)
pure virtual

Allocates memory for this PvPleoraCompressed.

Allocs a PvPleoraCompressed of specific payload length

Parameters
[in]aPayloadLengthThe payload length of the compressed data, in pixels. See GetPayloadLength.
Returns
Includes:

◆ Attach()

virtual PvResult PvPleoraCompressed::Attach ( void *  aRawBuffer,
uint64_t  aPayloadLength 
)
pure virtual

Attach this PvPleoraCompressed to an external memory buffer.

This method is identical to #Alloc(uint64_t,uint32_t), with the following exceptions:

  • This method uses an external memory buffer, controlled by the caller.
Parameters
[in]aRawBufferA pointer to the buffer.
[in]aPayloadLengthThe payload length of the raw data, in pixels. See GetPayloadLength.
Returns
Includes:

◆ Detach()

virtual uint8_t* PvPleoraCompressed::Detach ( )
pure virtual

Releases an attached memory buffer.

Does nothing other then resetting the memory buffer pointer to NULL.

Returns
The buffer's location in memory.
See also
Attach

◆ Free()

virtual void PvPleoraCompressed::Free ( )
pure virtual

Frees (de-allocates) the buffer's internal memory.

See also
Alloc

◆ GetPayloadLength()

virtual uint64_t PvPleoraCompressed::GetPayloadLength ( ) const
pure virtual

Get the payload length specified in the leader information of this block.

If you wish to construct a buffer with payload type "Pleora Compressed", simply call PvPleoraCompressed::Alloc or PvPleoraCompressed::Attach and the payload length field will be set automatically at the time the block is transmitted.

Returns
The payload length specified in the leader information of this block

◆ SetPayloadLength()

virtual void PvPleoraCompressed::SetPayloadLength ( uint64_t  aLength)
pure virtual

Sets the effective payload length for the buffer.

Sufficient memory must already be allocated greater than or equal to payload length.


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

Copyright (c) 2002-2024 Pleora Technologies Inc.
www.pleora.com