Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvGenDCInterfaces.h
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2025, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #pragma once
8 
9 #include <PvGenDCLib.h>
10 #include <PvPixelType.h>
11 #include <stdint.h>
12 
18 
20 
21 namespace PvGenDCLib
22 {
23 class IContainerBuffer;
24 }
25 
32 class PV_GENDC_API IPvGenDCImage
33 {
34 public:
35  virtual ~IPvGenDCImage() {}
36 
42  virtual const uint8_t *GetDataPointer() const = 0;
43 
49  virtual uint8_t *GetDataPointer() = 0;
50 
56  virtual uint32_t GetImageSize() const = 0;
57 
63  virtual uint32_t GetWidth() const = 0;
64 
70  virtual uint32_t GetHeight() const = 0;
71 
78  virtual PvPixelType GetPixelType() const = 0;
79 
86  virtual uint32_t GetBitsPerPixel() const = 0;
87 
93  virtual uint32_t GetOffsetX() const = 0;
94 
100  virtual uint32_t GetOffsetY() const = 0;
101 
107  virtual uint16_t GetPaddingX() const = 0;
108 
114  virtual uint16_t GetPaddingY() const = 0;
115 
121  virtual uint64_t GetBlockID() const = 0;
122 };
123 
124 
131 class PV_GENDC_API IPvGenDCChunkData
132 {
133 public:
134  virtual ~IPvGenDCChunkData() {}
135 
141  virtual bool HasChunks() const = 0;
142 
148  virtual uint32_t GetChunkCount() const = 0;
149 
161  virtual PvResult GetChunkIDByIndex( uint32_t aIndex, uint32_t &aID ) const = 0;
162 
170  virtual uint32_t GetChunkSizeByIndex( uint32_t aIndex ) const = 0;
171 
179  virtual uint32_t GetChunkSizeByID( uint32_t aID ) const = 0;
180 
188  virtual const uint8_t *GetChunkRawDataByIndex( uint32_t aIndex ) const = 0;
189 
197  virtual const uint8_t *GetChunkRawDataByID( uint32_t aID ) const = 0;
198 
204  virtual uint32_t GetChunkLayoutID() const = 0;
205 };
206 
213 class PV_GENDC_API IPvGenDCChunkWriter
214 {
215 public:
235  virtual PvResult AddChunk( uint32_t aID, const uint8_t *aData, uint32_t aLength ) = 0;
236 
251  virtual void ResetChunks() = 0;
252 
253 };
254 
255 
264 class PV_GENDC_API IPvGenDCManager
265 {
266 public:
270  virtual uint64_t GetTotalPayloadSize() const = 0;
271 
276  virtual IPvGenericDataContainer &GetGenDC() const = 0;
277 
281  virtual void ResetContainer() = 0;
282 };
283 
PvPixelType
Definition: PvPixelType.h:51
Generic chunk data interface for GenDC parts.
Definition: PvGenDCInterfaces.h:132
virtual const uint8_t * GetChunkRawDataByIndex(uint32_t aIndex) const =0
Get chunk raw data by index.
virtual PvResult GetChunkIDByIndex(uint32_t aIndex, uint32_t &aID) const =0
Get chunk ID by index.
virtual uint32_t GetChunkSizeByID(uint32_t aID) const =0
Get chunk size by ID.
virtual uint32_t GetChunkCount() const =0
Returns the number of chunks.
virtual uint32_t GetChunkSizeByIndex(uint32_t aIndex) const =0
Get chunk size by index.
virtual bool HasChunks() const =0
Returns true if the buffer has data chunks.
virtual uint32_t GetChunkLayoutID() const =0
Get the chunk data layout ID.
virtual const uint8_t * GetChunkRawDataByID(uint32_t aID) const =0
Get chunk raw data by ID.
Generic chunk data writer interface for GenDC parts.
Definition: PvGenDCInterfaces.h:214
virtual void ResetChunks()=0
Resets the internal chunk state.
virtual PvResult AddChunk(uint32_t aID, const uint8_t *aData, uint32_t aLength)=0
Add chunk data to the buffer.
Generic image interface for GenDC parts.
Definition: PvGenDCInterfaces.h:33
virtual uint16_t GetPaddingX() const =0
Get the horizontal image padding.
virtual uint32_t GetImageSize() const =0
Actual image size within the payload or buffer.
virtual uint32_t GetOffsetY() const =0
Get the image's vertical offset.
virtual uint8_t * GetDataPointer()=0
Get the image's data pointer.
virtual const uint8_t * GetDataPointer() const =0
Get the image's data pointer.
virtual uint64_t GetBlockID() const =0
Return the block ID.
virtual uint32_t GetOffsetX() const =0
Get the image's horizontal offset.
virtual uint32_t GetWidth() const =0
Get the image's width.
virtual uint16_t GetPaddingY() const =0
Get the vertical image padding.
virtual PvPixelType GetPixelType() const =0
The buffer's pixel type.
virtual uint32_t GetBitsPerPixel() const =0
Returns how many bits are required to hold a pixel using the current buffer's pixel type.
virtual uint32_t GetHeight() const =0
Get the image's height.
Interface for managing GenDC (Generic Data Container) operations.
Definition: PvGenDCInterfaces.h:265
virtual IPvGenericDataContainer & GetGenDC() const =0
Returns an interface to the Generic Data Container, which is then used to construct the GenDC Compone...
virtual void ResetContainer()=0
Resets the GenDC Descriptor to a default state (no components, no parts).
virtual uint64_t GetTotalPayloadSize() const =0
Returns the total GenDC payload size, including descriptor and data.
Interface used to read from a GenDC container.
Definition: PvGenericDataContainer.h:648
Result information.
Definition: PvResult.h:30

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