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 
PvResult
Result information.
Definition: PvResult.h:29
IPvGenDCManager
Interface for managing GenDC (Generic Data Container) operations.
Definition: PvGenDCInterfaces.h:264
IPvGenDCChunkWriter
Generic chunk data writer interface for GenDC parts.
Definition: PvGenDCInterfaces.h:213
IPvGenDCChunkData
Generic chunk data interface for GenDC parts.
Definition: PvGenDCInterfaces.h:131
IPvGenDCImage
Generic image interface for GenDC parts.
Definition: PvGenDCInterfaces.h:32
PvPixelType.h
PvPixelType
PvPixelType
Definition: PvPixelType.h:50
IPvGenericDataContainer
Interface used to read from a GenDC container.
Definition: PvGenericDataContainer.h:647

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