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 
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__
Interface for managing GenDC (Generic Data Container) operations.
Definition: PvGenDCInterfaces.h:265
Streaming channel source interface with GenDC (Generic Data Container) support.
Definition: PvSoftDeviceGEVInterfaces.h:213
virtual void SetupGenDCContainer()=0
Sets up the GenDC container before device initialization.
virtual PvResult SetGenDCStreamingMode(bool aEnabled)=0
Enables or disables GenDC streaming mode.
virtual bool GetGenDCStreamingMode() const =0
Gets the current GenDC streaming mode state.
virtual void AssignGenDCManager(IPvGenDCManager *aManager)=0
Assigns the GenDC manager to the streaming channel source.
Definition: PvSoftDeviceGEVInterfaces.h:66
virtual PvResult QueueBuffer(PvBuffer *aBuffer)=0
Request by the PvSoftDeviceGEV to queue a buffer for acquisition.
virtual void AbortQueuedBuffers()=0
Request by the PvSoftDeviceGEV to abort all buffers queued for acquisition.
virtual ~IPvSWStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:72
virtual PvResult RetrieveBuffer(PvBuffer **aBuffer)=0
Request by the PvSoftDeviceGEV to retrieve a buffer from the streaming source.
virtual void FreeBuffer(PvBuffer *aBuffer)=0
Request by the PvSoftDeviceGEV to free or release a buffer allocated with AllocBuffer.
virtual PvBuffer * AllocBuffer()=0
Request by the PvSoftDeviceGEV to allocate a PvBuffer.
virtual PvResult GetTxNumBuffersToUse(uint32_t &aNumBuffer)=0
This method is requested by PvSoftDeviceGEV to limit the number of buffers used by the transmitter....
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:265
~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:271
virtual PvResult AddStream(IPvSWStreamingChannelSource *aSource)=0
Adds a new stream to the PvSoftDeviceGEV.
virtual PvResult SetGenDCEnabled(bool aEnabled)=0
Enables the option of using GenDC for streaming.
virtual PvResult SetTCPTransportEnabled(bool aEnabled)=0
Enables experimental TCP transport.
virtual PvResult SetRTPProtocolEnabled(bool aEnabled)=0
Enables the option of using RTP for streaming.
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvVirtualDeviceGEVInterfaces.h:804
Interface to the main class of the software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:2929
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:111
Result information.
Definition: PvResult.h:30

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