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

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