Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvSoftDeviceGEVInterfaces.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2011, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVSOFTDEVICEGEVINTERFACES_H__
8 #define __PVSOFTDEVICEGEVINTERFACES_H__
9 
10 #include <PvVirtualDeviceGEVInterfaces.h>
11 #include <PvSoftDeviceGEVLib.h>
12 #include <PvBuffer.h>
13 
14 
64 class PV_SOFT_DEVICE_GEV_API IPvSWStreamingChannelSource
66 {
67 public:
68 
73 
94  virtual PvBuffer* AllocBuffer() = 0;
95 
104  virtual void FreeBuffer( PvBuffer* aBuffer ) = 0;
105 
134  virtual PvResult GetTxNumBuffersToUse( uint32_t &aNumBuffer ) = 0;
135 
136 
151  virtual PvResult QueueBuffer( PvBuffer* aBuffer ) = 0;
152 
160  virtual bool PreQueueBufferProc() { return true; }
161 
167  virtual void PostRetrieveBufferProc() {}
168 
189  virtual PvResult RetrieveBuffer( PvBuffer **aBuffer ) = 0;
190 
200  virtual void AbortQueuedBuffers() = 0;
201 };
202 
203 
211 class PV_SOFT_DEVICE_GEV_API IPvSWStreamingChannelSourceGenDC
213 {
214 public:
224  virtual void AssignGenDCManager( IPvGenDCManager* aManager ) = 0;
225 
233  virtual void SetupGenDCContainer() = 0;
234 
240  virtual bool GetGenDCStreamingMode() const = 0;
241 
252  virtual PvResult SetGenDCStreamingMode( bool aEnabled ) = 0;
253 
254 protected:
255  IPvGenDCManager* mGDCManager;
256 
257 };
258 
263 class PV_SOFT_DEVICE_GEV_API IPvSoftDeviceGEV
264  : public IPvVirtualDeviceGEV
265 {
266 public:
267 
272 
287  virtual PvResult AddStream( IPvSWStreamingChannelSource* aSource ) = 0;
288 
307  virtual PvResult SetTCPTransportEnabled( bool aEnabled ) = 0;
308 
331  virtual PvResult SetRTPProtocolEnabled( bool aEnabled ) = 0;
332 
333 
340  virtual PvResult SetGenDCEnabled( bool aEnabled ) = 0;
341 
342 };
343 
344 #endif // __PVSOFTDEVICEGEVINTERFACES_H__
IPvVirtualDeviceGEV
Interface to the main class of the software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:2928
PvResult
Result information.
Definition: PvResult.h:29
IPvGenDCManager
Interface for managing GenDC (Generic Data Container) operations.
Definition: PvGenDCInterfaces.h:264
IPvSWStreamingChannelSource
Definition: PvSoftDeviceGEVInterfaces.h:64
IPvSoftDeviceGEV::~IPvSoftDeviceGEV
~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:271
IPvSWStreamingChannelSource::~IPvSWStreamingChannelSource
virtual ~IPvSWStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:72
IPvSWStreamingChannelSourceGenDC
Streaming channel source interface with GenDC (Generic Data Container) support.
Definition: PvSoftDeviceGEVInterfaces.h:211
IPvSoftDeviceGEV
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:263
PvBuffer
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:110
IPvStreamingChannelSource
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvVirtualDeviceGEVInterfaces.h:803

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