7 #ifndef __PVCHUNKDATA_H__
8 #define __PVCHUNKDATA_H__
10 #include <PvBaseLib.h>
29 virtual void ResetChunks() = 0;
46 virtual PvResult AddChunk( uint32_t aID,
const uint8_t *aData, uint32_t aLength ) = 0;
53 virtual void SetChunkLayoutID( uint32_t aChunkLayoutID ) = 0;
63 virtual bool HasChunks()
const = 0;
72 virtual uint32_t GetChunkCount() = 0;
87 virtual PvResult GetChunkIDByIndex( uint32_t aIndex, uint32_t &aID ) = 0;
98 virtual uint32_t GetChunkSizeByIndex( uint32_t aIndex ) = 0;
109 virtual uint32_t GetChunkSizeByID( uint32_t aID ) = 0;
120 virtual const uint8_t *GetChunkRawDataByIndex( uint32_t aIndex ) = 0;
131 virtual const uint8_t *GetChunkRawDataByID( uint32_t aID ) = 0;
138 virtual uint32_t GetChunkLayoutID() = 0;
153 virtual uint32_t GetChunkDataSize()
const = 0;
171 virtual uint32_t GetChunkDataCapacity()
const = 0;
210 virtual uint64_t GetChunkDataPayloadLength()
const = 0;
225 virtual PvResult Alloc( uint32_t aMaximumChunkLength ) = 0;
230 virtual void Free() = 0;
243 virtual PvResult Attach(
void * aRawBuffer, uint32_t aMaximumChunkLength ) = 0;
252 virtual uint8_t *Detach() = 0;