Pleora Technologies Inc. eBUS SDK v6.4.0.6670 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 #ifndef EBUS_ENUM
11 #define EBUS_ENUM(x) typedef enum
12 #endif
13 
14 #include <PvVirtualDeviceLib.h>
15 #include <PvDeviceEnums.h>
16 #include <PvBuffer.h>
17 #include <PvGenTypes.h>
18 
19 
21 class IPvSoftDeviceGEV;
22 class IPvGenApiFactory;
23 class IPvRegisterFactory;
24 class IPvRegisterMap;
25 class IPvUserSetNotify;
26 
27 
28 namespace PvVirtualDeviceLib
29 {
30  class IActionHandler;
31 }
32 
33 EBUS_ENUM(PvScanType)
34 {
35  PvScanTypeInvalid = -1,
36  PvScanTypeArea = 0,
37  PvScanTypeLine = 1,
38  PvScanTypeArea3D = 2,
39  PvScanTypeLine3D = 3
40 
41 } PvScanType;
42 
43 
69 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVInfo
70 {
71 public:
72 
76  virtual ~IPvSoftDeviceGEVInfo() {}
77 
85  virtual const PvString &GetManufacturerName() = 0;
86 
94  virtual const PvString &GetModelName() = 0;
95 
103  virtual const PvString &GetDeviceVersion() = 0;
104 
112  virtual const PvString &GetDeviceFirmwareVersion() = 0;
113 
121  virtual const PvString &GetManufacturerInformation() = 0;
122 
130  virtual const PvString &GetSerialNumber() = 0;
131 
144  virtual PvResult SetManufacturerName( const PvString &aValue ) = 0;
145 
158  virtual PvResult SetModelName( const PvString &aValue ) = 0;
159 
172  virtual PvResult SetDeviceVersion( const PvString &aValue ) = 0;
173 
186  virtual PvResult SetDeviceFirmwareVersion( const PvString &aValue ) = 0;
187 
203  virtual PvResult SetManufacturerInformation( const PvString &aValue ) = 0;
204 
217  virtual PvResult SetSerialNumber( const PvString &aValue ) = 0;
218 
226  virtual uint16_t GetGenICamXMLVersionMajor() const = 0;
227 
235  virtual uint16_t GetGenICamXMLVersionMinor() const = 0;
236 
244  virtual uint16_t GetGenICamXMLVersionSubMinor() const = 0;
245 
253  virtual const PvString &GetGenICamXMLProductGUID() = 0;
254 
262  virtual const PvString &GetGenICamXMLVersionGUID() = 0;
263 
278  virtual PvResult SetGenICamXMLVersion( uint16_t aMajor, uint16_t aMinor, uint16_t aSubMinor ) = 0;
279 
302  virtual PvResult SetGenICamXMLGUIDs( const PvString &aProduct, const PvString &aVersion ) = 0;
303 };
304 
305 
316 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVStatistics
317 {
318 public:
319 
324 
328  virtual void Reset() = 0;
329 
335  virtual uint64_t GetReadMemsReceived() const = 0;
336 
342  virtual uint64_t GetWriteMemsReceived() const = 0;
343 
349  virtual uint64_t GetReadRegsReceived() const = 0;
350 
356  virtual uint64_t GetWriteRegsReceived() const = 0;
357 
363  virtual uint64_t GetDiscoveriesReceived() const = 0;
364 
370  virtual uint64_t GetActionCommandsReceived() const = 0;
371 
377  virtual uint64_t GetForceIpsReceived() const = 0;
378 
384  virtual uint64_t GetPacketResendRequestsReceived() const = 0;
385 
391  virtual uint64_t GetPendingAcksIssued() const = 0;
392 
398  virtual uint64_t GetRetriesReceived() const = 0;
399 
405  virtual uint64_t GetRetriesReceivedMax() const = 0;
406 
412  virtual uint64_t GetEventsIssued() const = 0;
413 
419  virtual uint64_t GetEventDatasIssued() const = 0;
420 
426  virtual uint64_t GetEventRetriesIssued() const = 0;
427 
434  virtual uint64_t GetEventRetriesIssuedMax() const = 0;
435 
441  virtual uint64_t GetSessionsOpened() const = 0;
442 
448  virtual uint64_t GetSessionsClosed() const = 0;
449 
455  virtual uint64_t GetHeartbeatFailedCount() const = 0;
456 
462  virtual uint64_t GetGVSPTestPacketsIssued() const = 0;
463 
464 };
465 
466 
477 class PV_VIRTUAL_DEVICE_API IPvMessageChannel
478 {
479 public:
480 
484  virtual ~IPvMessageChannel() {}
485 
507  virtual PvResult FireEvent( uint16_t aEventID, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
508 
535  virtual PvResult FireEvent( uint16_t aEventID, uint8_t *aData, uint32_t aDataLength, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
536 
546  virtual bool IsOpened() = 0;
547 
548 };
549 
550 
570 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVEventSink
571 {
572 public:
573 
578 
587  virtual void OnApplicationConnect( IPvSoftDeviceGEV *aDevice, const PvString &aIPAddress, uint16_t aPort, PvAccessType aAccessType )
588  {
589  PVUNREFPARAM( aDevice );
590  PVUNREFPARAM( aIPAddress );
591  PVUNREFPARAM( aPort );
592  PVUNREFPARAM( aAccessType );
593  }
594 
607  virtual void OnControlChannelStart( IPvSoftDeviceGEV *aDevice, const PvString &aMACAddress, const PvString &aIPAddress, const PvString &aMask, const PvString &aGateway, uint16_t aPort )
608  {
609  PVUNREFPARAM( aDevice );
610  PVUNREFPARAM( aMACAddress );
611  PVUNREFPARAM( aIPAddress );
612  PVUNREFPARAM( aMask );
613  PVUNREFPARAM( aGateway );
614  PVUNREFPARAM( aPort );
615  }
616 
625  virtual void OnApplicationDisconnect( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
626 
634  virtual void OnControlChannelStop( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
635 
643  virtual void OnDeviceResetFull( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
644 
653  virtual void OnDeviceResetNetwork( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
654 
669  virtual void OnCreateCustomRegisters( IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory ) { PVUNREFPARAM( aDevice ); PVUNREFPARAM( aFactory ); }
670 
685  virtual void OnCreateCustomGenApiFeatures( IPvSoftDeviceGEV *aDevice, IPvGenApiFactory *aFactory ) { PVUNREFPARAM( aDevice ); PVUNREFPARAM( aFactory ); }
686 };
687 
688 
738 class PV_VIRTUAL_DEVICE_API IPvStreamingChannelSource
739 {
740 public:
741 
746 
754  virtual uint32_t GetWidth() const = 0;
755 
763  virtual uint32_t GetHeight() const = 0;
764 
772  virtual uint32_t GetOffsetX() const = 0;
773 
781  virtual uint32_t GetOffsetY() const = 0;
782 
790  virtual PvPixelType GetPixelType() const = 0;
791 
802  virtual void GetWidthInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const = 0;
803 
814  virtual void GetHeightInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const = 0;
815 
832  virtual uint32_t GetChunksSize() const = 0;
833 
848  virtual uint32_t GetPayloadSize() const = 0;
849 
858  virtual PvScanType GetScanType() const = 0;
859 
868  virtual bool GetChunkModeActive() const = 0;
869 
884  virtual bool GetChunkEnable( uint32_t aChunkID ) const = 0;
885 
911  virtual PvResult GetSupportedPixelType( int aIndex, PvPixelType &aPixelType ) const = 0;
912 
941  virtual PvResult GetSupportedChunk( int aIndex, uint32_t &aID, PvString &aName ) const = 0;
942 
960  virtual PvResult SetWidth( uint32_t aWidth ) = 0;
961 
979  virtual PvResult SetHeight( uint32_t aHeight ) = 0;
980 
994  virtual PvResult SetOffsetX( uint32_t aOffsetX ) = 0;
995 
1009  virtual PvResult SetOffsetY( uint32_t aOffsetY ) = 0;
1010 
1028  virtual PvResult SetPixelType( PvPixelType aPixelType ) = 0;
1029 
1044  virtual PvResult SetChunkModeActive( bool aEnabled ) = 0;
1045 
1061  virtual PvResult SetChunkEnable( uint32_t aChunkID, bool aEnabled ) = 0;
1062 
1069  virtual void OnOpen( const PvString &aDestIP, uint16_t aDestPort ) = 0;
1070 
1074  virtual void OnClose() = 0;
1075 
1079  virtual void OnStreamingStart() = 0;
1080 
1084  virtual void OnStreamingStop() = 0;
1085 
1106  virtual PvBuffer *AllocBuffer() = 0;
1107 
1116  virtual void FreeBuffer( PvBuffer *aBuffer ) = 0;
1117 
1132  virtual PvResult QueueBuffer( PvBuffer *aBuffer ) = 0;
1133 
1141  virtual bool PreQueueBufferProc() { return true; }
1142 
1148  virtual void PostRetrieveBufferProc() {}
1149 
1170  virtual PvResult RetrieveBuffer( PvBuffer **aBuffer ) = 0;
1171 
1181  virtual void AbortQueuedBuffers() = 0;
1182 
1199  virtual void CreateRegisters( IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory )
1200  {
1201  PVUNREFPARAM( aRegisterMap );
1202  PVUNREFPARAM( aFactory );
1203  }
1204 
1265  virtual void CreateGenApiFeatures( IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory )
1266  {
1267  PVUNREFPARAM( aRegisterMap );
1268  PVUNREFPARAM( aFactory );
1269  }
1270 
1286  virtual bool IsPayloadTypeSupported( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return false; }
1287 
1304  virtual void SetMultiPartAllowed( bool aAllowed ) { PVUNREFPARAM( aAllowed ); }
1305 
1321  virtual void SetLargeLeaderTrailerEnabled( bool aEnabled, uint32_t aMaxMultiPartCount )
1322  {
1323  PVUNREFPARAM( aEnabled );
1324  PVUNREFPARAM( aMaxMultiPartCount );
1325  }
1326 
1362  virtual PvResult SetTestPayloadFormatMode( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return PvResult::Code::NOT_SUPPORTED; }
1363 };
1364 
1365 
1375 class PV_VIRTUAL_DEVICE_API IPvRegisterInfo
1376 {
1377 public:
1378 
1382  virtual ~IPvRegisterInfo() {}
1383 
1396  virtual const PvString &GetName() = 0;
1397 
1403  virtual uint32_t GetAddress() const = 0;
1404 
1410  virtual size_t GetLength() const = 0;
1411 
1417  virtual const void *GetContext() const = 0;
1418 
1424  virtual void *GetContext() = 0;
1425 
1439  virtual bool IsWritable() const = 0;
1440 
1446  virtual bool IsReadable() const = 0;
1447 
1453  virtual bool IsArrayOfBytes() const = 0;
1454 };
1455 
1456 
1468 class PV_VIRTUAL_DEVICE_API IPvRegister
1469  : public IPvRegisterInfo
1470 {
1471 public:
1472 
1476  virtual ~IPvRegister() {}
1477 
1489  virtual PvResult Read( uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1490 
1502  virtual PvResult Write( const uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1503 
1517  virtual PvResult Read( uint32_t &aValue, uint32_t aOffset = 0 ) = 0;
1518 
1532  virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
1533 
1546  virtual PvResult Read( PvString &aValue ) = 0;
1547 
1560  virtual PvResult Write( const PvString &aValue ) = 0;
1561 
1574  virtual PvResult ReadFloat( float &aValue ) = 0;
1575 
1588  virtual PvResult WriteFloat( float aValue ) = 0;
1589 
1602  virtual PvResult ReadDouble( double &aValue ) = 0;
1603 
1616  virtual PvResult WriteDouble( double aValue ) = 0;
1617 
1630  virtual PvResult AddEventSink( IPvRegisterEventSink *aEventSink ) = 0;
1631 
1642  virtual PvResult RemoveEventSink( IPvRegisterEventSink *aEventSink ) = 0;
1643 };
1644 
1645 
1657 class PV_VIRTUAL_DEVICE_API IPvRegisterStore
1658 {
1659 public:
1660 
1661  virtual ~IPvRegisterStore() {}
1662 
1681  virtual PvResult Persist( IPvRegister *aRegister, const PvString &aNameSuffix ) = 0;
1682 };
1683 
1684 
1699 class PV_VIRTUAL_DEVICE_API IPvRegisterEventSink
1700 {
1701 public:
1702 
1707 
1729  virtual PvResult PreRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
1730 
1738  virtual void PostRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
1739 
1766  virtual PvResult PreWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
1767 
1779  virtual void PostWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
1780 
1807  virtual PvResult Persist( IPvRegister *aRegister, IPvRegisterStore *aStore ) { PVUNREFPARAM( aRegister ); PVUNREFPARAM( aStore ); return PvResult::Code::NOT_IMPLEMENTED; }
1808 };
1809 
1810 
1820 class PV_VIRTUAL_DEVICE_API IPvRegisterFactory
1821 {
1822 public:
1823 
1827  virtual ~IPvRegisterFactory() {}
1828 
1843  virtual PvResult AddRegister( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1844  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
1845 
1860  virtual PvResult AddByteArray( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1861  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
1862 };
1863 
1864 
1876 class PV_VIRTUAL_DEVICE_API IPvRegisterMap
1877 {
1878 public:
1879 
1883  virtual ~IPvRegisterMap() {}
1884 
1893  virtual size_t GetRegisterCount() = 0;
1894 
1902  virtual IPvRegister *GetRegisterByIndex( size_t aIndex ) = 0;
1903 
1911  virtual IPvRegister *GetRegisterByAddress( uint32_t aAddress ) = 0;
1912 
1936  virtual PvResult Lock() = 0;
1937 
1951  virtual PvResult Lock( uint32_t aTimeout ) = 0;
1952 
1959  virtual void Release() = 0;
1960 };
1961 
1962 
1991 class PV_VIRTUAL_DEVICE_API IPvGenApiFactory
1992 {
1993 public:
1994 
1998  virtual ~IPvGenApiFactory() {}
1999 
2008  virtual void SetName( const PvString &aName ) = 0;
2009 
2033  virtual void SetDisplayName( const PvString &aDisplayName ) = 0;
2034 
2049  virtual void SetCategory( const PvString &aCategory ) = 0;
2050 
2051 
2052  virtual void SetCategory( const PvString &aCategory, const PvString &aCategoryDisplayName ) = 0;
2053 
2059  virtual void SetDescription( const PvString &aDescription ) = 0;
2060 
2066  virtual void SetToolTip( const PvString &aToolTip ) = 0;
2067 
2077  virtual void SetAccessMode( PvGenAccessMode aAccessMode ) = 0;
2078 
2084  virtual void SetRepresentation( PvGenRepresentation aRepresentation ) = 0;
2085 
2091  virtual void SetVisibility( PvGenVisibility aVisibility ) = 0;
2092 
2103  virtual void SetCachable( PvGenCache aCache ) = 0;
2104 
2113  virtual void SetPollingTime( uint32_t aPollingTime ) = 0;
2114 
2124  virtual void SetNameSpace( PvGenNameSpace aNameSpace ) = 0;
2125 
2137  virtual void SetTLLocked( bool aLocked ) = 0;
2138 
2147  virtual void SetStreamable( bool aStreamable ) = 0;
2148 
2158  virtual void SetUnit( const PvString &aUnit ) = 0;
2159 
2173  virtual void SetPValue( const PvString &aFeatureName ) = 0;
2174 
2196  virtual void SetPIsAvailable( const PvString &aFeatureName ) = 0;
2197  virtual void SetPIsLocked( const PvString &aFeatureName ) = 0;
2198 
2213  virtual void MapChunk( uint32_t aChunkID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle ) = 0;
2214 
2230  virtual void MapEvent( uint32_t aEventID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle, bool aAdjustAddress = true ) = 0;
2231 
2256  virtual void AddSelected( const PvString &aFeatureName ) = 0;
2257 
2266  virtual void AddInvalidator( const PvString &aFeatureName ) = 0;
2267 
2280  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue ) = 0;
2281 
2296  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue, const PvString &aDisplayName, PvGenNameSpace aNameSpace = PvGenNameSpaceCustom ) = 0;
2297 
2319  virtual void AddVariable( const PvString &aFeatureName ) = 0;
2320 
2339  virtual PvResult CreateInteger( IPvRegister *aRegister, int64_t aMin, int64_t aMax, int64_t aInc = 1 ) = 0;
2340  virtual PvResult CreateInteger( IPvRegister *aRegister = NULL ) = 0;
2341 
2359  virtual PvResult CreateFloat( IPvRegister *aRegister, double aMin, double aMax ) = 0;
2360  virtual PvResult CreateFloat( IPvRegister *aRegister = NULL ) = 0;
2361 
2376  virtual PvResult CreateString( IPvRegister *aRegister = NULL ) = 0;
2377  virtual PvResult CreateRegister( IPvRegister *aRegister = NULL ) = 0;
2378 
2393  virtual PvResult CreateBoolean( IPvRegister *aRegister = NULL ) = 0;
2394 
2409  virtual PvResult CreateCommand( IPvRegister *aRegister = NULL ) = 0;
2410 
2426  virtual PvResult CreateEnum( IPvRegister *aRegister = NULL ) = 0;
2427 
2472  virtual PvResult CreateIntSwissKnife( const PvString &aFormula ) = 0;
2473 
2519  virtual PvResult CreateFloatSwissKnife( const PvString &aFormula ) = 0;
2520 
2580  virtual PvResult CreateIntConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
2581 
2641  virtual PvResult CreateFloatConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
2642 
2660  virtual PvResult AddInvalidatorTo( const PvString &aStandardFeatureName, const PvString &aInvalidatorFeatureName ) = 0;
2661 
2681  virtual PvResult SetPIsAvailableFor( const PvString &aStandardFeatureName, const PvString &aPIsAvailableFeatureName ) = 0;
2682 
2703  virtual PvResult SetPIsAvailableForEnumEntry( const PvString &aStandardFeatureName, const PvString &aEnumEntryName, const PvString &aPIsAvailableFeatureName ) = 0;
2704  virtual PvResult SetPIsLockedFor( const PvString &aStandardFeatureName, const PvString &aPIsLockedFeatureName ) = 0;
2705 
2718  virtual PvResult SetPValueFor( const PvString &aStandardFeatureName, const PvString &aPValueFeatureName ) = 0;
2719 
2732  virtual PvResult SetPMinFor( const PvString &aStandardFeatureName, const PvString &aPMinFeatureName ) = 0;
2733 
2746  virtual PvResult SetPMaxFor( const PvString &aStandardFeatureName, const PvString &aPMaxFeatureName ) = 0;
2747 
2760  virtual PvResult SetPIncFor( const PvString &aStandardFeatureName, const PvString &aPIncFeatureName ) = 0;
2761 
2771  virtual void SetPMin( const PvString &aFeatureName ) = 0;
2772 
2782  virtual void SetPMax( const PvString &aFeatureName ) = 0;
2783 
2793  virtual void SetPInc( const PvString &aFeatureName ) = 0;
2794 };
2795 
2796 
2797 
2802 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEV
2803 {
2804 public:
2805 
2809  virtual ~IPvSoftDeviceGEV() {}
2810 
2825  virtual PvResult AddStream( IPvStreamingChannelSource * aSource ) = 0;
2826 
2895  virtual PvResult SetUserSetCount( uint32_t aCount ) = 0;
2896 
2905  virtual PvResult SetUserSetNotify ( IPvUserSetNotify *aUserSetNotify ) = 0;
2906 
2925  virtual PvResult SetTCPTransportEnabled( bool aEnabled ) = 0;
2926 
2949  virtual PvResult SetRTPProtocolEnabled( bool aEnabled ) = 0;
2950 
2956  virtual PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler ) = 0;
2957 
2972  virtual PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
2973 
2986  virtual PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
2987 
3003  virtual PvResult Start( const PvString &aIpAddress ) = 0;
3004 
3013  virtual PvResult Stop() = 0;
3014 
3025  virtual IPvSoftDeviceGEVInfo *GetInfo() = 0;
3026 
3041  virtual IPvRegisterMap *GetRegisterMap() = 0;
3042 
3050  virtual IPvSoftDeviceGEVStatistics *GetStatistics() = 0;
3051 
3065  virtual IPvMessageChannel *GetMessagingChannel() = 0;
3066  //virtual IPvTrigger *GetTrigger( uint32_t aChannel ) = 0;
3067 
3081  virtual PvResult GetGenICamXMLFile( PvString &aString ) const = 0;
3082 };
3083 
3084 #endif
PvResult
Result information.
Definition: PvResult.h:29
IPvRegisterEventSink::~IPvRegisterEventSink
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1706
IPvSoftDeviceGEVEventSink::OnDeviceResetNetwork
virtual void OnDeviceResetNetwork(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has reset its network stack.
Definition: PvSoftDeviceGEVInterfaces.h:653
IPvRegisterEventSink::PreWrite
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1766
IPvRegisterMap
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1876
IPvStreamingChannelSource::SetTestPayloadFormatMode
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:1362
IPvRegisterMap::~IPvRegisterMap
virtual ~IPvRegisterMap()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1883
IPvSoftDeviceGEVInfo
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:69
PvResult::Code::NOT_IMPLEMENTED
@ NOT_IMPLEMENTED
Definition: PvResult.h:521
IPvSoftDeviceGEVStatistics::~IPvSoftDeviceGEVStatistics
virtual ~IPvSoftDeviceGEVStatistics()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:323
IPvSoftDeviceGEVInfo::~IPvSoftDeviceGEVInfo
virtual ~IPvSoftDeviceGEVInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:76
IPvGenApiFactory
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvSoftDeviceGEVInterfaces.h:1991
IPvMessageChannel
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:477
PvAccessType
PvAccessType
GigE Vision device access type.
Definition: PvDeviceEnums.h:53
IPvUserSetNotify
An interface to register a state change callback for UserSets.
Definition: IPvUserSetNotify.h:45
PvResult::Code::NOT_SUPPORTED
@ NOT_SUPPORTED
Definition: PvResult.h:522
IPvRegister::~IPvRegister
virtual ~IPvRegister()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1476
IPvSoftDeviceGEVEventSink::OnCreateCustomGenApiFeatures
virtual void OnCreateCustomGenApiFeatures(IPvSoftDeviceGEV *aDevice, IPvGenApiFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom GenApi parameters, if they are needed.
Definition: PvSoftDeviceGEVInterfaces.h:685
IPvStreamingChannelSource::PreQueueBufferProc
virtual bool PreQueueBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1141
IPvStreamingChannelSource::SetLargeLeaderTrailerEnabled
virtual void SetLargeLeaderTrailerEnabled(bool aEnabled, uint32_t aMaxMultiPartCount)
Sets whether the streaming source which transmit multi-part data uses large data leader and trailer p...
Definition: PvSoftDeviceGEVInterfaces.h:1321
PvString
String class.
Definition: PvString.h:25
PvGenRepresentation
PvGenRepresentation
Definition: PvGenTypes.h:158
IPvSoftDeviceGEVEventSink::OnCreateCustomRegisters
virtual void OnCreateCustomRegisters(IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom registers, if they are needed.
Definition: PvSoftDeviceGEVInterfaces.h:669
IPvSoftDeviceGEVEventSink::OnApplicationConnect
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:587
IPvRegisterFactory
Class used for register creation.
Definition: PvSoftDeviceGEVInterfaces.h:1820
IPvRegister
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1468
IPvSoftDeviceGEV::~IPvSoftDeviceGEV
virtual ~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2809
IPvStreamingChannelSource::CreateRegisters
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:1199
IPvRegisterEventSink::PreRead
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1729
IPvSoftDeviceGEVEventSink::OnApplicationDisconnect
virtual void OnApplicationDisconnect(IPvSoftDeviceGEV *aDevice)
Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV.
Definition: PvSoftDeviceGEVInterfaces.h:625
IPvSoftDeviceGEVEventSink::~IPvSoftDeviceGEVEventSink
virtual ~IPvSoftDeviceGEVEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:577
IPvSoftDeviceGEVStatistics
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:316
PvDeviceEnums.h
PvDevice library enumerations.
PvPayloadType
PvPayloadType
GVSP payload type.
Definition: PvPayloadType.h:66
IPvStreamingChannelSource::CreateGenApiFeatures
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:1265
IPvGenApiFactory::~IPvGenApiFactory
virtual ~IPvGenApiFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1998
IPvRegisterEventSink::PostWrite
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1779
IPvStreamingChannelSource::IsPayloadTypeSupported
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:1286
PvGenTypes.h
GenICam feature-related constants.
IPvStreamingChannelSource::PostRetrieveBufferProc
virtual void PostRetrieveBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1148
IPvRegisterFactory::~IPvRegisterFactory
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1827
IPvSoftDeviceGEV
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:2802
IPvSoftDeviceGEVEventSink::OnControlChannelStop
virtual void OnControlChannelStop(IPvSoftDeviceGEV *aDevice)
Notification that the control channel of the PvSoftDeviceGEV has been stopped.
Definition: PvSoftDeviceGEVInterfaces.h:634
IPvRegisterEventSink::PostRead
virtual void PostRead(IPvRegister *aRegister)
Post-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1738
IPvStreamingChannelSource::~IPvStreamingChannelSource
virtual ~IPvStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:745
IPvRegisterStore
Class used with register persistence in the context of user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1657
PvResult::Code::OK
@ OK
Definition: PvResult.h:502
PvPixelType
PvPixelType
Definition: PvPixelType.h:57
IPvStreamingChannelSource::SetMultiPartAllowed
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:1304
IPvSoftDeviceGEVEventSink::OnDeviceResetFull
virtual void OnDeviceResetFull(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has performed a full reset.
Definition: PvSoftDeviceGEVInterfaces.h:643
IPvSoftDeviceGEVEventSink::OnControlChannelStart
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:607
IPvRegisterEventSink
Interface that is used to report the register activity of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1699
IPvSoftDeviceGEVEventSink
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:570
IPvMessageChannel::~IPvMessageChannel
virtual ~IPvMessageChannel()
Destructor.
Definition: PvSoftDeviceGEVInterfaces.h:484
IPvRegisterInfo
Interface to access basic information about a PvSoftDeviceGEV register.
Definition: PvSoftDeviceGEVInterfaces.h:1375
PvBuffer
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:95
IPvStreamingChannelSource
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:738
IPvRegisterInfo::~IPvRegisterInfo
virtual ~IPvRegisterInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1382
PvGenVisibility
PvGenVisibility
Feature (PvGenParameter object) visibility.
Definition: PvGenTypes.h:60
IPvRegisterEventSink::Persist
virtual PvResult Persist(IPvRegister *aRegister, IPvRegisterStore *aStore)
Peristence request for selected registers for user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1807

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