7 #ifndef __PVCHUNKDATA_H__
8 #define __PVCHUNKDATA_H__
10 #include <PvBufferLib.h>
28 virtual void ResetChunks() = 0;
45 virtual PvResult AddChunk( uint32_t aID,
const uint8_t *aData, uint32_t aLength ) = 0;
52 virtual void SetChunkLayoutID( uint32_t aChunkLayoutID ) = 0;
62 virtual bool HasChunks()
const = 0;
71 virtual uint32_t GetChunkCount() = 0;
86 virtual PvResult GetChunkIDByIndex( uint32_t aIndex, uint32_t &aID ) = 0;
97 virtual uint32_t GetChunkSizeByIndex( uint32_t aIndex ) = 0;
108 virtual uint32_t GetChunkSizeByID( uint32_t aID ) = 0;
119 virtual const uint8_t *GetChunkRawDataByIndex( uint32_t aIndex ) = 0;
130 virtual const uint8_t *GetChunkRawDataByID( uint32_t aID ) = 0;
137 virtual uint32_t GetChunkLayoutID() = 0;
152 virtual uint32_t GetChunkDataSize()
const = 0;
170 virtual uint32_t GetChunkDataCapacity()
const = 0;
209 virtual uint64_t GetChunkDataPayloadLength()
const = 0;
224 virtual PvResult Alloc( uint32_t aMaximumChunkLength ) = 0;
229 virtual void Free() = 0;
242 virtual PvResult Attach(
void * aRawBuffer, uint32_t aMaximumChunkLength ) = 0;
251 virtual uint8_t *Detach() = 0;