Pleora Technologies Inc. eBUS SDK v6.2.4.5552 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 <PvVirtualDeviceLib.h>
11 #include <PvDeviceEnums.h>
12 #include <PvBuffer.h>
13 #include <PvGenTypes.h>
14 
15 
17 class IPvSoftDeviceGEV;
18 class IPvGenApiFactory;
19 class IPvRegisterFactory;
20 class IPvRegisterMap;
21 
22 
23 namespace PvVirtualDeviceLib
24 {
25  class IActionHandler;
26 }
27 
28 typedef enum
29 {
30  PvScanTypeInvalid = -1,
31  PvScanTypeArea = 0,
32  PvScanTypeLine = 1,
33  PvScanTypeArea3D = 2,
34  PvScanTypeLine3D = 3
35 
36 } PvScanType;
37 
38 
39 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVInfo
40 {
41 public:
42 
43  virtual ~IPvSoftDeviceGEVInfo() {}
44 
45  virtual const PvString &GetManufacturerName() = 0;
46  virtual const PvString &GetModelName() = 0;
47  virtual const PvString &GetDeviceVersion() = 0;
48  virtual const PvString &GetManufacturerInformation() = 0;
49  virtual const PvString &GetSerialNumber() = 0;
50 
51  virtual PvResult SetManufacturerName( const PvString &aValue ) = 0;
52  virtual PvResult SetModelName( const PvString &aValue ) = 0;
53  virtual PvResult SetDeviceVersion( const PvString &aValue ) = 0;
54  virtual PvResult SetDeviceFirmwareVersion( const PvString &aValue ) = 0;
55  virtual PvResult SetManufacturerInformation( const PvString &aValue ) = 0;
56  virtual PvResult SetSerialNumber( const PvString &aValue ) = 0;
57 
58  virtual uint16_t GetGenICamXMLVersionMajor() const = 0;
59  virtual uint16_t GetGenICamXMLVersionMinor() const = 0;
60  virtual uint16_t GetGenICamXMLVersionSubMinor() const = 0;
61  virtual const PvString &GetGenICamXMLProductGUID() = 0;
62  virtual const PvString &GetGenICamXMLVersionGUID() = 0;
63 
64  virtual PvResult SetGenICamXMLVersion( uint16_t aMajor, uint16_t aMinor, uint16_t aSubMinor ) = 0;
65  virtual PvResult SetGenICamXMLGUIDs( const PvString &aProduct, const PvString &aVersion ) = 0;
66 };
67 
68 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVStatistics
69 {
70 public:
71 
73 
74  virtual void Reset() = 0;
75 
76  virtual uint64_t GetReadMemsReceived() const = 0;
77  virtual uint64_t GetWriteMemsReceived() const = 0;
78  virtual uint64_t GetReadRegsReceived() const = 0;
79  virtual uint64_t GetWriteRegsReceived() const = 0;
80  virtual uint64_t GetDiscoveriesReceived() const = 0;
81  virtual uint64_t GetActionCommandsReceived() const = 0;
82  virtual uint64_t GetForceIpsReceived() const = 0;
83  virtual uint64_t GetPacketResendRequestsReceived() const = 0;
84  virtual uint64_t GetPendingAcksIssued() const = 0;
85  virtual uint64_t GetRetriesReceived() const = 0;
86  virtual uint64_t GetRetriesReceivedMax() const = 0;
87 
88  virtual uint64_t GetEventsIssued() const = 0;
89  virtual uint64_t GetEventDatasIssued() const = 0;
90  virtual uint64_t GetEventRetriesIssued() const = 0;
91  virtual uint64_t GetEventRetriesIssuedMax() const = 0;
92 
93  virtual uint64_t GetSessionsOpened() const = 0;
94  virtual uint64_t GetSessionsClosed() const = 0;
95  virtual uint64_t GetHeartbeatFailedCount() const = 0;
96 
97  virtual uint64_t GetGVSPTestPacketsIssued() const = 0;
98 
99 };
100 
101 class PV_VIRTUAL_DEVICE_API IPvMessageChannel
102 {
103 public:
104 
105  virtual ~IPvMessageChannel() {}
106 
107 #ifdef EBUS_PYTHON_DOXYGEN
108  virtual PvResult FireEvent( uint16_t aEventID, bytes *aData, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0 ) = 0;
109 #else
110  virtual PvResult FireEvent( uint16_t aEventID, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0 ) = 0;
111  virtual PvResult FireEvent( uint16_t aEventID, uint8_t *aData, uint32_t aDataLength, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0 ) = 0;
112 #endif
113  virtual bool IsOpened() = 0;
114 
115 };
116 
117 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVEventSink
118 {
119 public:
120 
122 
123  virtual void OnApplicationConnect( IPvSoftDeviceGEV *aDevice, const PvString &aIPAddress, uint16_t aPort, PvAccessType aAccessType )
124  {
125  PVUNREFPARAM( aDevice );
126  PVUNREFPARAM( aIPAddress );
127  PVUNREFPARAM( aPort );
128  PVUNREFPARAM( aAccessType );
129  }
130 
131  virtual void OnControlChannelStart( IPvSoftDeviceGEV *aDevice, const PvString &aMACAddress, const PvString &aIPAddress, const PvString &aMask, const PvString &aGateway, uint16_t aPort )
132  {
133  PVUNREFPARAM( aDevice );
134  PVUNREFPARAM( aMACAddress );
135  PVUNREFPARAM( aIPAddress );
136  PVUNREFPARAM( aMask );
137  PVUNREFPARAM( aGateway );
138  PVUNREFPARAM( aPort );
139  }
140 
141  virtual void OnApplicationDisconnect( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
142  virtual void OnControlChannelStop( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
143  virtual void OnDeviceResetFull( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
144  virtual void OnDeviceResetNetwork( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
145 
146  virtual void OnCreateCustomRegisters( IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory ) { PVUNREFPARAM( aDevice ); PVUNREFPARAM( aFactory ); }
147  virtual void OnCreateCustomGenApiFeatures( IPvSoftDeviceGEV *aDevice, IPvGenApiFactory *aFactory ) { PVUNREFPARAM( aDevice ); PVUNREFPARAM( aFactory ); }
148 };
149 
150 class PV_VIRTUAL_DEVICE_API IPvStreamingChannelSource
151 {
152 public:
153 
155 
156  virtual uint32_t GetWidth() const = 0;
157  virtual uint32_t GetHeight() const = 0;
158  virtual uint32_t GetOffsetX() const = 0;
159  virtual uint32_t GetOffsetY() const = 0;
160  virtual PvPixelType GetPixelType() const = 0;
161 #ifdef EBUS_PYTHON_DOXYGEN
162  virtual tuple GetWidthInfo() const = 0;
163  virtual tuple GetHeightInfo() const = 0;
164 #else
165  virtual void GetWidthInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const = 0;
166  virtual void GetHeightInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const = 0;
167 #endif
168  virtual uint32_t GetChunksSize() const = 0;
169  virtual uint32_t GetPayloadSize() const = 0;
170  virtual PvScanType GetScanType() const = 0;
171  virtual bool GetChunkModeActive() const = 0;
172  virtual bool GetChunkEnable( uint32_t aChunkID ) const = 0;
173 #ifdef EBUS_PYTHON_DOXYGEN
174  virtual tuple GetSupportedPixelType( int aIndex ) const = 0;
175  virtual tuple GetSupportedChunk( int aIndex ) const = 0;
176 #else
177  virtual PvResult GetSupportedPixelType( int aIndex, PvPixelType &aPixelType ) const = 0;
178  virtual PvResult GetSupportedChunk( int aIndex, uint32_t &aID, PvString &aName ) const = 0;
179 #endif
180 
181  virtual PvResult SetWidth( uint32_t aWidth ) = 0;
182  virtual PvResult SetHeight( uint32_t aHeight ) = 0;
183  virtual PvResult SetOffsetX( uint32_t aOffsetX ) = 0;
184  virtual PvResult SetOffsetY( uint32_t aOffsetY ) = 0;
185  virtual PvResult SetPixelType( PvPixelType aPixelType ) = 0;
186  virtual PvResult SetChunkModeActive( bool aEnabled ) = 0;
187  virtual PvResult SetChunkEnable( uint32_t aChunkID, bool aEnabled ) = 0;
188 
189  virtual void OnOpen( const PvString &aDestIP, uint16_t aDestPort ) = 0;
190  virtual void OnClose() = 0;
191 
192  virtual void OnStreamingStart() = 0;
193  virtual void OnStreamingStop() = 0;
194 
195  virtual PvBuffer *AllocBuffer() = 0;
196  virtual void FreeBuffer( PvBuffer *aBuffer ) = 0;
197 
198  virtual PvResult QueueBuffer( PvBuffer *aBuffer ) = 0;
199 #ifdef EBUS_PYTHON_DOXYGEN
200  virtual tuple RetrieveBuffer( void *unused ) = 0;
201 #else
202  virtual PvResult RetrieveBuffer( PvBuffer **aBuffer ) = 0;
203 #endif
204  virtual void AbortQueuedBuffers() = 0;
205 
206  virtual void CreateRegisters( IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory )
207  {
208  PVUNREFPARAM( aRegisterMap );
209  PVUNREFPARAM( aFactory );
210  }
211 
212  virtual void CreateGenApiFeatures( IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory )
213  {
214  PVUNREFPARAM( aRegisterMap );
215  PVUNREFPARAM( aFactory );
216  }
217 
218  virtual bool IsPayloadTypeSupported( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return false; }
219  virtual void SetMultiPartAllowed( bool aAllowed ) { PVUNREFPARAM( aAllowed ); }
220  virtual PvResult SetTestPayloadFormatMode( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return PvResult::Code::NOT_SUPPORTED; }
221 };
222 
223 class PV_VIRTUAL_DEVICE_API IPvRegisterInfo
224 {
225 public:
226 
227  virtual ~IPvRegisterInfo() {}
228 
229  virtual const PvString &GetName() = 0;
230  virtual uint32_t GetAddress() const = 0;
231  virtual size_t GetLength() const = 0;
232  virtual const void *GetContext() const = 0;
233  virtual void *GetContext() = 0;
234 
235  virtual bool IsWritable() const = 0;
236  virtual bool IsReadable() const = 0;
237 
238 };
239 
240 class PV_VIRTUAL_DEVICE_API IPvRegister
241  : public IPvRegisterInfo
242 {
243 public:
244 
245  virtual ~IPvRegister() {}
246 
247 #ifndef EBUS_PYTHON_DOXYGEN
248  virtual PvResult Read( uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
249  virtual PvResult Write( const uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
250 
251  virtual PvResult Read( uint32_t &aValue, uint32_t aOffset = 0 ) = 0;
252  virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
253  virtual PvResult Read( PvString &aValue ) = 0;
254  virtual PvResult Write( const PvString &aValue ) = 0;
255  virtual PvResult ReadFloat( float &aValue ) = 0;
256  virtual PvResult WriteFloat( float aValue ) = 0;
257  virtual PvResult ReadDouble( double &aValue ) = 0;
258  virtual PvResult WriteDouble( double aValue ) = 0;
259 #else
260  virtual bytes Read( uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
261  virtual PvResult Write( bytes aData, uint32_t aOffset = 0 ) = 0;
262  virtual uint32_t ReadInt( uint32_t aOffset = 0 ) = 0;
263  virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
264  virtual string ReadString() = 0;
265  virtual PvResult Write( const PvString &aValue ) = 0;
266  virtual float ReadFloat() = 0;
267  virtual PvResult WriteFloat( float aValue ) = 0;
268  virtual double ReadDouble() = 0;
269  virtual PvResult WriteDouble( double aValue ) = 0;
270 #endif
271  virtual PvResult AddEventSink( IPvRegisterEventSink *aEventSink ) = 0;
272  virtual PvResult RemoveEventSink( IPvRegisterEventSink *aEventSink ) = 0;
273 };
274 
275 class PV_VIRTUAL_DEVICE_API IPvRegisterStore
276 {
277 public:
278 
279  virtual ~IPvRegisterStore() {}
280 
281  virtual PvResult Persist( IPvRegister *aRegister, const PvString &aNameSuffix ) = 0;
282 };
283 
284 class PV_VIRTUAL_DEVICE_API IPvRegisterEventSink
285 {
286 public:
287 
289 
290  virtual PvResult PreRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
291  virtual void PostRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
292 
293  virtual PvResult PreWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
294  virtual void PostWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
295 
296  virtual PvResult Persist( IPvRegister *aRegister, IPvRegisterStore *aStore ) { PVUNREFPARAM( aRegister ); PVUNREFPARAM( aStore ); return PvResult::Code::NOT_IMPLEMENTED; }
297 };
298 
299 class PV_VIRTUAL_DEVICE_API IPvRegisterFactory
300 {
301 public:
302 
303  virtual ~IPvRegisterFactory() {}
304 
305  virtual PvResult AddRegister( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
306  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
307 };
308 
309 class PV_VIRTUAL_DEVICE_API IPvRegisterMap
310 {
311 public:
312 
313  virtual ~IPvRegisterMap() {}
314 
315  virtual size_t GetRegisterCount() = 0;
316  virtual IPvRegister *GetRegisterByIndex( size_t aIndex ) = 0;
317  virtual IPvRegister *GetRegisterByAddress( uint32_t aAddress ) = 0;
318 
319  virtual PvResult Lock() = 0;
320  virtual PvResult Lock( uint32_t aTimeout ) = 0;
321  virtual void Release() = 0;
322 };
323 
324 class PV_VIRTUAL_DEVICE_API IPvGenApiFactory
325 {
326 public:
327 
328  virtual ~IPvGenApiFactory() {}
329 
330  virtual void SetName( const PvString &aName ) = 0;
331  virtual void SetDisplayName( const PvString &aDisplayName ) = 0;
332  virtual void SetCategory( const PvString &aCategory ) = 0;
333  virtual void SetDescription( const PvString &aDescription ) = 0;
334  virtual void SetToolTip( const PvString &aToolTip ) = 0;
335  virtual void SetAccessMode( PvGenAccessMode aAccessMode ) = 0;
336  virtual void SetRepresentation( PvGenRepresentation aRepresentation ) = 0;
337  virtual void SetVisibility( PvGenVisibility aVisibility ) = 0;
338  virtual void SetCachable( PvGenCache aCache ) = 0;
339  virtual void SetPollingTime( uint32_t aPollingTime ) = 0;
340  virtual void SetNameSpace( PvGenNameSpace aNameSpace ) = 0;
341  virtual void SetTLLocked( bool aLocked ) = 0;
342  virtual void SetStreamable( bool aStreamable ) = 0;
343  virtual void SetUnit( const PvString &aUnit ) = 0;
344  virtual void SetPValue( const PvString &aFeatureName ) = 0;
345  virtual void SetPIsAvailable( const PvString &aFeatureName ) = 0;
346  virtual void SetPIsLocked( const PvString &aFeatureName ) = 0;
347 
348  virtual void MapChunk( uint32_t aChunkID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle ) = 0;
349  virtual void MapEvent( uint32_t aEventID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle, bool aAdjustAddress = true ) = 0;
350 
351  virtual void AddSelected( const PvString &aFeatureName ) = 0;
352  virtual void AddInvalidator( const PvString &aFeatureName ) = 0;
353  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue ) = 0;
354  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue, const PvString &aDisplayName, PvGenNameSpace aNameSpace = PvGenNameSpaceCustom ) = 0;
355  virtual void AddVariable( const PvString &aFeatureName ) = 0;
356 
357  virtual PvResult CreateInteger( IPvRegister *aRegister, int64_t aMin, int64_t aMax, int64_t aInc = 1 ) = 0;
358  virtual PvResult CreateInteger( IPvRegister *aRegister = NULL ) = 0;
359  virtual PvResult CreateFloat( IPvRegister *aRegister, double aMin, double aMax ) = 0;
360  virtual PvResult CreateFloat( IPvRegister *aRegister = NULL ) = 0;
361  virtual PvResult CreateString( IPvRegister *aRegister = NULL ) = 0;
362  virtual PvResult CreateRegister( IPvRegister *aRegister = NULL ) = 0;
363  virtual PvResult CreateBoolean( IPvRegister *aRegister = NULL ) = 0;
364  virtual PvResult CreateCommand( IPvRegister *aRegister = NULL ) = 0;
365  virtual PvResult CreateEnum( IPvRegister *aRegister = NULL ) = 0;
366  virtual PvResult CreateIntSwissKnife( const PvString &aFormula ) = 0;
367  virtual PvResult CreateFloatSwissKnife( const PvString &aFormula ) = 0;
368  virtual PvResult CreateIntConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
369  virtual PvResult CreateFloatConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
370 
371  virtual PvResult AddInvalidatorTo( const PvString &aStandardFeatureName, const PvString &aInvalidatorFeatureName ) = 0;
372  virtual PvResult SetPIsAvailableFor( const PvString &aStandardFeatureName, const PvString &aPIsAvailableFeatureName ) = 0;
373  virtual PvResult SetPIsAvailableForEnumEntry( const PvString &aStandardFeatureName, const PvString &aEnumEntryName, const PvString &aPIsAvailableFeatureName ) = 0;
374  virtual PvResult SetPIsLockedFor( const PvString &aStandardFeatureName, const PvString &aPIsLockedFeatureName ) = 0;
375  virtual PvResult SetPValueFor( const PvString &aStandardFeatureName, const PvString &aPValueFeatureName ) = 0;
376  virtual PvResult SetPMinFor( const PvString &aStandardFeatureName, const PvString &aPMinFeatureName ) = 0;
377  virtual PvResult SetPMaxFor( const PvString &aStandardFeatureName, const PvString &aPMaxFeatureName ) = 0;
378  virtual PvResult SetPIncFor( const PvString &aStandardFeatureName, const PvString &aPIncFeatureName ) = 0;
379 
380  virtual void SetPMin( const PvString &aFeatureName ) = 0;
381  virtual void SetPMax( const PvString &aFeatureName ) = 0;
382  virtual void SetPInc( const PvString &aFeatureName ) = 0;
383 };
384 
385 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEV
386 {
387 public:
388 
389  virtual ~IPvSoftDeviceGEV() {}
390 
391  virtual PvResult AddStream( IPvStreamingChannelSource * aSource ) = 0;
392  virtual PvResult SetUserSetCount( uint32_t aCount ) = 0;
393  virtual PvResult SetTCPTransportEnabled( bool aEnabled ) = 0;
394  virtual PvResult SetRTPProtocolEnabled( bool aEnabled ) = 0;
395  virtual PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler ) = 0;
396 
397  virtual PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
398  virtual PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
399 
400  virtual PvResult Start( const PvString &aIpAddress ) = 0;
401  virtual PvResult Stop() = 0;
402 
403  virtual IPvSoftDeviceGEVInfo *GetInfo() = 0;
404  virtual IPvRegisterMap *GetRegisterMap() = 0;
405  virtual IPvSoftDeviceGEVStatistics *GetStatistics() = 0;
406  virtual IPvMessageChannel *GetMessagingChannel() = 0;
407 
408  virtual PvResult GetGenICamXMLFile( PvString &aString ) const = 0;
409 };
410 
411 
412 #endif
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:240
virtual void OnDeviceResetFull(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has performed a full reset.
Definition: PvSoftDeviceGEVInterfaces.h:143
virtual void OnApplicationConnect(IPvSoftDeviceGEV *aDevice, const PvString &aIPAddress, uint16_t aPort, PvAccessType aAccessType)
Notification that a GigE Vision controller has taken ownership of the control channel of your PvSoftD...
Definition: PvSoftDeviceGEVInterfaces.h:123
virtual bool IsPayloadTypeSupported(PvPayloadType aPayloadType)
When called, the streaming source has to return whether the specificed payload type is supported or n...
Definition: PvSoftDeviceGEVInterfaces.h:218
Definition: PvResult.h:78
PvAccessType
GigE Vision device access type.
Definition: PvDeviceEnums.h:11
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:290
PvGenVisibility
Feature (PvGenParameter object) visibility.
Definition: PvGenTypes.h:11
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvSoftDeviceGEVInterfaces.h:324
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:303
virtual ~IPvMessageChannel()
Destructor.
Definition: PvSoftDeviceGEVInterfaces.h:105
virtual ~IPvSoftDeviceGEVEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:121
virtual ~IPvRegisterMap()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:313
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:288
String class.
Definition: PvString.h:21
Result information.
Definition: PvResult.h:13
Interface to access basic information about a PvSoftDeviceGEV register.
Definition: PvSoftDeviceGEVInterfaces.h:223
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:385
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:150
PvPixelType
Definition: PvPixelType.h:53
virtual void PostRead(IPvRegister *aRegister)
Post-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:291
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:293
virtual ~IPvRegisterInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:227
virtual ~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:389
Class used with register persistence in the context of user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:275
virtual void OnControlChannelStop(IPvSoftDeviceGEV *aDevice)
Notification that the control channel of the PvSoftDeviceGEV has been stopped.
Definition: PvSoftDeviceGEVInterfaces.h:142
virtual void CreateRegisters(IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory)
When called, the streaming channel source should create its custom registers if they are needed...
Definition: PvSoftDeviceGEVInterfaces.h:206
virtual void OnDeviceResetNetwork(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has reset its network stack.
Definition: PvSoftDeviceGEVInterfaces.h:144
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:101
PvGenRepresentation
Definition: PvGenTypes.h:36
Definition: PvResult.h:79
virtual PvResult Persist(IPvRegister *aRegister, IPvRegisterStore *aStore)
Peristence request for selected registers for user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:296
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:39
virtual ~IPvRegister()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:245
GenICam feature-related constants.
virtual void OnControlChannelStart(IPvSoftDeviceGEV *aDevice, const PvString &aMACAddress, const PvString &aIPAddress, const PvString &aMask, const PvString &aGateway, uint16_t aPort)
Notification that the control channel of the PvSoftDeviceGEV has been started.
Definition: PvSoftDeviceGEVInterfaces.h:131
virtual ~IPvGenApiFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:328
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:294
virtual void OnApplicationDisconnect(IPvSoftDeviceGEV *aDevice)
Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV...
Definition: PvSoftDeviceGEVInterfaces.h:141
PvPayloadType
GVSP payload type.
Definition: PvPayloadType.h:11
virtual PvResult SetTestPayloadFormatMode(PvPayloadType aPayloadType)
When called, the streaming source has to ensure it can stream buffers of the specified payload type...
Definition: PvSoftDeviceGEVInterfaces.h:220
virtual void OnCreateCustomRegisters(IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom registers, if they are needed...
Definition: PvSoftDeviceGEVInterfaces.h:146
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:68
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:47
Definition: PvResult.h:59
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:117
virtual void CreateGenApiFeatures(IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
When called, the streaming channel source should create its custom GenApi parameters if they are need...
Definition: PvSoftDeviceGEVInterfaces.h:212
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:309
virtual ~IPvStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:154
virtual ~IPvSoftDeviceGEVStatistics()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:72
Class used for register creation.
Definition: PvSoftDeviceGEVInterfaces.h:299
PvDevice library enumerations.
virtual void SetMultiPartAllowed(bool aAllowed)
Sets whether the streaming source is allowed or not, but not forced, to transmit multi-part data...
Definition: PvSoftDeviceGEVInterfaces.h:219
virtual void OnCreateCustomGenApiFeatures(IPvSoftDeviceGEV *aDevice, IPvGenApiFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom GenApi parameters, if they are needed...
Definition: PvSoftDeviceGEVInterfaces.h:147
Interface that is used to report the register activity of the software-based GigE Vision Device...
Definition: PvSoftDeviceGEVInterfaces.h:284
virtual ~IPvSoftDeviceGEVInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:43

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