7 #ifndef __PVCHUNKDATA_H__
8 #define __PVCHUNKDATA_H__
10 #include <PvBufferLib.h>
Generic chunk data interface.
Definition: PvChunkData.h:18
virtual void SetChunkLayoutID(uint32_t aChunkLayoutID)=0
Set the chunk data layout ID.
virtual uint32_t GetChunkSizeByIndex(uint32_t aIndex)=0
See PvBuffer::GetChunkSizeByIndex.
virtual const uint8_t * GetChunkRawDataByIndex(uint32_t aIndex)=0
See PvBuffer::GetChunkRawDataByIndex.
virtual PvResult AddChunk(uint32_t aID, const uint8_t *aData, uint32_t aLength)=0
See PvBuffer::AddChunk.
virtual uint32_t GetChunkSizeByID(uint32_t aID)=0
See PvBuffer::GetChunkSizeByID.
virtual uint32_t GetChunkDataCapacity() const =0
Returns the current chunk data capacity.
virtual const uint8_t * GetChunkRawDataByID(uint32_t aID)=0
See PvBuffer::GetChunkRawDataByID.
virtual void ResetChunks()=0
See PvBuffer::ResetChunks.
virtual uint32_t GetChunkLayoutID()=0
Get the chunk data layout ID.
virtual uint32_t GetChunkCount()=0
See PvBuffer::GetChunkCount.
virtual PvResult GetChunkIDByIndex(uint32_t aIndex, uint32_t &aID)=0
See PvBuffer::GetChunkIDByIndex.
virtual uint32_t GetChunkDataSize() const =0
Returns the current chunk data size.
virtual bool HasChunks() const =0
Returns true if the buffer has data chunks.
Raw data interface to a PvBuffer.
Definition: PvChunkData.h:199
virtual void Free()=0
Frees (de-allocates) the buffer's internal memory.
virtual PvResult Attach(void *aRawBuffer, uint32_t aMaximumChunkLength)=0
Attach this PvChunkData to an external memory buffer.
virtual PvResult Alloc(uint32_t aMaximumChunkLength)=0
Allocates memory for this PvChunkData.
virtual uint64_t GetChunkDataPayloadLength() const =0
Get the chunk data payload length specified in the trailer information of this block.
virtual uint8_t * Detach()=0
Releases an attached memory buffer.
Result information.
Definition: PvResult.h:30