Pleora Technologies Inc. eBUS SDK v6.5.1.6797 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 
271  virtual const PvString &GetGenICamXMLRegDescModelName() { return GetModelName(); }
272 
280  virtual const PvString &GetGenICamXMLRegDescVendorName() { return GetManufacturerName(); }
281 
296  virtual PvResult SetGenICamXMLVersion( uint16_t aMajor, uint16_t aMinor, uint16_t aSubMinor ) = 0;
297 
320  virtual PvResult SetGenICamXMLGUIDs( const PvString &aProduct, const PvString &aVersion ) = 0;
321 
335  virtual PvResult SetGenICamXMLRegDescModelName( const PvString &aModelName ){ PVUNREFPARAM( aModelName); return PvResult::Code::OK; };
336 
350  virtual PvResult SetGenICamXMLRegDescVendorName( const PvString &aVendorName ){ PVUNREFPARAM( aVendorName ); return PvResult::Code::OK; };
351 
352 };
353 
354 
365 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVStatistics
366 {
367 public:
368 
373 
377  virtual void Reset() = 0;
378 
384  virtual uint64_t GetReadMemsReceived() const = 0;
385 
391  virtual uint64_t GetWriteMemsReceived() const = 0;
392 
398  virtual uint64_t GetReadRegsReceived() const = 0;
399 
405  virtual uint64_t GetWriteRegsReceived() const = 0;
406 
412  virtual uint64_t GetDiscoveriesReceived() const = 0;
413 
419  virtual uint64_t GetActionCommandsReceived() const = 0;
420 
426  virtual uint64_t GetForceIpsReceived() const = 0;
427 
433  virtual uint64_t GetPacketResendRequestsReceived() const = 0;
434 
440  virtual uint64_t GetPendingAcksIssued() const = 0;
441 
447  virtual uint64_t GetRetriesReceived() const = 0;
448 
454  virtual uint64_t GetRetriesReceivedMax() const = 0;
455 
461  virtual uint64_t GetEventsIssued() const = 0;
462 
468  virtual uint64_t GetEventDatasIssued() const = 0;
469 
475  virtual uint64_t GetEventRetriesIssued() const = 0;
476 
483  virtual uint64_t GetEventRetriesIssuedMax() const = 0;
484 
490  virtual uint64_t GetSessionsOpened() const = 0;
491 
497  virtual uint64_t GetSessionsClosed() const = 0;
498 
504  virtual uint64_t GetHeartbeatFailedCount() const = 0;
505 
511  virtual uint64_t GetGVSPTestPacketsIssued() const = 0;
512 
513 };
514 
515 
526 class PV_VIRTUAL_DEVICE_API IPvMessageChannel
527 {
528 public:
529 
533  virtual ~IPvMessageChannel() {}
534 
556  virtual PvResult FireEvent( uint16_t aEventID, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
557 
584  virtual PvResult FireEvent( uint16_t aEventID, uint8_t *aData, uint32_t aDataLength, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
585 
595  virtual bool IsOpened() = 0;
596 
597 };
598 
599 
619 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEVEventSink
620 {
621 public:
622 
627 
636  virtual void OnApplicationConnect( IPvSoftDeviceGEV *aDevice, const PvString &aIPAddress, uint16_t aPort, PvAccessType aAccessType )
637  {
638  PVUNREFPARAM( aDevice );
639  PVUNREFPARAM( aIPAddress );
640  PVUNREFPARAM( aPort );
641  PVUNREFPARAM( aAccessType );
642  }
643 
656  virtual void OnControlChannelStart( IPvSoftDeviceGEV *aDevice, const PvString &aMACAddress, const PvString &aIPAddress, const PvString &aMask, const PvString &aGateway, uint16_t aPort )
657  {
658  PVUNREFPARAM( aDevice );
659  PVUNREFPARAM( aMACAddress );
660  PVUNREFPARAM( aIPAddress );
661  PVUNREFPARAM( aMask );
662  PVUNREFPARAM( aGateway );
663  PVUNREFPARAM( aPort );
664  }
665 
674  virtual void OnApplicationDisconnect( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
675 
683  virtual void OnControlChannelStop( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
684 
692  virtual void OnDeviceResetFull( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
693 
702  virtual void OnDeviceResetNetwork( IPvSoftDeviceGEV *aDevice ) { PVUNREFPARAM( aDevice ); }
703 
718  virtual void OnCreateCustomRegisters( IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory ) { PVUNREFPARAM( aDevice ); PVUNREFPARAM( aFactory ); }
719 
734  virtual void OnCreateCustomGenApiFeatures( IPvSoftDeviceGEV *aDevice, IPvGenApiFactory *aFactory ) { PVUNREFPARAM( aDevice ); PVUNREFPARAM( aFactory ); }
735 };
736 
737 
787 class PV_VIRTUAL_DEVICE_API IPvStreamingChannelSource
788 {
789 public:
790 
795 
803  virtual uint32_t GetWidth() const = 0;
804 
812  virtual uint32_t GetHeight() const = 0;
813 
821  virtual uint32_t GetOffsetX() const = 0;
822 
830  virtual uint32_t GetOffsetY() const = 0;
831 
839  virtual PvPixelType GetPixelType() const = 0;
840 
851  virtual void GetWidthInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const = 0;
852 
863  virtual void GetHeightInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc ) const = 0;
864 
881  virtual uint32_t GetChunksSize() const = 0;
882 
897  virtual uint32_t GetPayloadSize() const = 0;
898 
907  virtual PvScanType GetScanType() const = 0;
908 
917  virtual bool GetChunkModeActive() const = 0;
918 
933  virtual bool GetChunkEnable( uint32_t aChunkID ) const = 0;
934 
960  virtual PvResult GetSupportedPixelType( int aIndex, PvPixelType &aPixelType ) const = 0;
961 
990  virtual PvResult GetSupportedChunk( int aIndex, uint32_t &aID, PvString &aName ) const = 0;
991 
1012  virtual PvResult GetGevSCPSPacketSizeInfo( uint32_t &aMax ) const
1013  {
1014  PVUNREFPARAM( aMax );
1016  }
1017 
1035  virtual PvResult SetWidth( uint32_t aWidth ) = 0;
1036 
1054  virtual PvResult SetHeight( uint32_t aHeight ) = 0;
1055 
1069  virtual PvResult SetOffsetX( uint32_t aOffsetX ) = 0;
1070 
1084  virtual PvResult SetOffsetY( uint32_t aOffsetY ) = 0;
1085 
1103  virtual PvResult SetPixelType( PvPixelType aPixelType ) = 0;
1104 
1119  virtual PvResult SetChunkModeActive( bool aEnabled ) = 0;
1120 
1136  virtual PvResult SetChunkEnable( uint32_t aChunkID, bool aEnabled ) = 0;
1137 
1144  virtual void OnOpen( const PvString &aDestIP, uint16_t aDestPort ) = 0;
1145 
1149  virtual void OnClose() = 0;
1150 
1154  virtual void OnStreamingStart() = 0;
1155 
1159  virtual void OnStreamingStop() = 0;
1160 
1181  virtual PvBuffer *AllocBuffer() = 0;
1182 
1191  virtual void FreeBuffer( PvBuffer *aBuffer ) = 0;
1192 
1207  virtual PvResult QueueBuffer( PvBuffer *aBuffer ) = 0;
1208 
1216  virtual bool PreQueueBufferProc() { return true; }
1217 
1223  virtual void PostRetrieveBufferProc() {}
1224 
1245  virtual PvResult RetrieveBuffer( PvBuffer **aBuffer ) = 0;
1246 
1256  virtual void AbortQueuedBuffers() = 0;
1257 
1274  virtual void CreateRegisters( IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory )
1275  {
1276  PVUNREFPARAM( aRegisterMap );
1277  PVUNREFPARAM( aFactory );
1278  }
1279 
1340  virtual void CreateGenApiFeatures( IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory )
1341  {
1342  PVUNREFPARAM( aRegisterMap );
1343  PVUNREFPARAM( aFactory );
1344  }
1345 
1361  virtual bool IsPayloadTypeSupported( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return false; }
1362 
1379  virtual void SetMultiPartAllowed( bool aAllowed ) { PVUNREFPARAM( aAllowed ); }
1380 
1396  virtual void SetLargeLeaderTrailerEnabled( bool aEnabled, uint32_t aMaxMultiPartCount )
1397  {
1398  PVUNREFPARAM( aEnabled );
1399  PVUNREFPARAM( aMaxMultiPartCount );
1400  }
1401 
1437  virtual PvResult SetTestPayloadFormatMode( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return PvResult::Code::NOT_SUPPORTED; }
1438 };
1439 
1440 
1450 class PV_VIRTUAL_DEVICE_API IPvRegisterInfo
1451 {
1452 public:
1453 
1457  virtual ~IPvRegisterInfo() {}
1458 
1471  virtual const PvString &GetName() = 0;
1472 
1478  virtual uint32_t GetAddress() const = 0;
1479 
1485  virtual size_t GetLength() const = 0;
1486 
1492  virtual const void *GetContext() const = 0;
1493 
1499  virtual void *GetContext() = 0;
1500 
1514  virtual bool IsWritable() const = 0;
1515 
1521  virtual bool IsReadable() const = 0;
1522 
1528  virtual bool IsArrayOfBytes() const = 0;
1529 };
1530 
1531 
1543 class PV_VIRTUAL_DEVICE_API IPvRegister
1544  : public IPvRegisterInfo
1545 {
1546 public:
1547 
1551  virtual ~IPvRegister() {}
1552 
1564  virtual PvResult Read( uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1565 
1577  virtual PvResult Write( const uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1578 
1592  virtual PvResult Read( uint32_t &aValue, uint32_t aOffset = 0 ) = 0;
1593 
1607  virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
1608 
1621  virtual PvResult Read( PvString &aValue ) = 0;
1622 
1635  virtual PvResult Write( const PvString &aValue ) = 0;
1636 
1649  virtual PvResult ReadFloat( float &aValue ) = 0;
1650 
1663  virtual PvResult WriteFloat( float aValue ) = 0;
1664 
1677  virtual PvResult ReadDouble( double &aValue ) = 0;
1678 
1691  virtual PvResult WriteDouble( double aValue ) = 0;
1692 
1705  virtual PvResult AddEventSink( IPvRegisterEventSink *aEventSink ) = 0;
1706 
1717  virtual PvResult RemoveEventSink( IPvRegisterEventSink *aEventSink ) = 0;
1718 };
1719 
1720 
1732 class PV_VIRTUAL_DEVICE_API IPvRegisterStore
1733 {
1734 public:
1735 
1736  virtual ~IPvRegisterStore() {}
1737 
1756  virtual PvResult Persist( IPvRegister *aRegister, const PvString &aNameSuffix ) = 0;
1757 };
1758 
1759 
1774 class PV_VIRTUAL_DEVICE_API IPvRegisterEventSink
1775 {
1776 public:
1777 
1782 
1804  virtual PvResult PreRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
1805 
1813  virtual void PostRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
1814 
1841  virtual PvResult PreWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
1842 
1854  virtual void PostWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
1855 
1882  virtual PvResult Persist( IPvRegister *aRegister, IPvRegisterStore *aStore ) { PVUNREFPARAM( aRegister ); PVUNREFPARAM( aStore ); return PvResult::Code::NOT_IMPLEMENTED; }
1883 };
1884 
1885 
1895 class PV_VIRTUAL_DEVICE_API IPvRegisterFactory
1896 {
1897 public:
1898 
1902  virtual ~IPvRegisterFactory() {}
1903 
1918  virtual PvResult AddRegister( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1919  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
1920 
1935  virtual PvResult AddByteArray( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1936  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
1937 };
1938 
1939 
1951 class PV_VIRTUAL_DEVICE_API IPvRegisterMap
1952 {
1953 public:
1954 
1958  virtual ~IPvRegisterMap() {}
1959 
1968  virtual size_t GetRegisterCount() = 0;
1969 
1977  virtual IPvRegister *GetRegisterByIndex( size_t aIndex ) = 0;
1978 
1986  virtual IPvRegister *GetRegisterByAddress( uint32_t aAddress ) = 0;
1987 
2011  virtual PvResult Lock() = 0;
2012 
2026  virtual PvResult Lock( uint32_t aTimeout ) = 0;
2027 
2034  virtual void Release() = 0;
2035 };
2036 
2037 
2066 class PV_VIRTUAL_DEVICE_API IPvGenApiFactory
2067 {
2068 public:
2069 
2073  virtual ~IPvGenApiFactory() {}
2074 
2083  virtual void SetName( const PvString &aName ) = 0;
2084 
2108  virtual void SetDisplayName( const PvString &aDisplayName ) = 0;
2109 
2124  virtual void SetCategory( const PvString &aCategory ) = 0;
2125 
2126 
2127  virtual void SetCategory( const PvString &aCategory, const PvString &aCategoryDisplayName ) = 0;
2128 
2134  virtual void SetDescription( const PvString &aDescription ) = 0;
2135 
2141  virtual void SetToolTip( const PvString &aToolTip ) = 0;
2142 
2152  virtual void SetAccessMode( PvGenAccessMode aAccessMode ) = 0;
2153 
2159  virtual void SetRepresentation( PvGenRepresentation aRepresentation ) = 0;
2160 
2166  virtual void SetVisibility( PvGenVisibility aVisibility ) = 0;
2167 
2178  virtual void SetCachable( PvGenCache aCache ) = 0;
2179 
2188  virtual void SetPollingTime( uint32_t aPollingTime ) = 0;
2189 
2199  virtual void SetNameSpace( PvGenNameSpace aNameSpace ) = 0;
2200 
2212  virtual void SetTLLocked( bool aLocked ) = 0;
2213 
2222  virtual void SetStreamable( bool aStreamable ) = 0;
2223 
2233  virtual void SetUnit( const PvString &aUnit ) = 0;
2234 
2248  virtual void SetPValue( const PvString &aFeatureName ) = 0;
2249 
2271  virtual void SetPIsAvailable( const PvString &aFeatureName ) = 0;
2272  virtual void SetPIsLocked( const PvString &aFeatureName ) = 0;
2273 
2288  virtual void MapChunk( uint32_t aChunkID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle ) = 0;
2289 
2305  virtual void MapEvent( uint32_t aEventID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle, bool aAdjustAddress = true ) = 0;
2306 
2331  virtual void AddSelected( const PvString &aFeatureName ) = 0;
2332 
2341  virtual void AddInvalidator( const PvString &aFeatureName ) = 0;
2342 
2355  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue ) = 0;
2356 
2371  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue, const PvString &aDisplayName, PvGenNameSpace aNameSpace = PvGenNameSpaceCustom ) = 0;
2372 
2394  virtual void AddVariable( const PvString &aFeatureName ) = 0;
2395 
2414  virtual PvResult CreateInteger( IPvRegister *aRegister, int64_t aMin, int64_t aMax, int64_t aInc = 1 ) = 0;
2415  virtual PvResult CreateInteger( IPvRegister *aRegister = NULL ) = 0;
2416 
2434  virtual PvResult CreateFloat( IPvRegister *aRegister, double aMin, double aMax ) = 0;
2435  virtual PvResult CreateFloat( IPvRegister *aRegister = NULL ) = 0;
2436 
2451  virtual PvResult CreateString( IPvRegister *aRegister = NULL ) = 0;
2452  virtual PvResult CreateRegister( IPvRegister *aRegister = NULL ) = 0;
2453 
2468  virtual PvResult CreateBoolean( IPvRegister *aRegister = NULL ) = 0;
2469 
2484  virtual PvResult CreateCommand( IPvRegister *aRegister = NULL ) = 0;
2485 
2501  virtual PvResult CreateEnum( IPvRegister *aRegister = NULL ) = 0;
2502 
2547  virtual PvResult CreateIntSwissKnife( const PvString &aFormula ) = 0;
2548 
2594  virtual PvResult CreateFloatSwissKnife( const PvString &aFormula ) = 0;
2595 
2655  virtual PvResult CreateIntConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
2656 
2716  virtual PvResult CreateFloatConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
2717 
2735  virtual PvResult AddInvalidatorTo( const PvString &aStandardFeatureName, const PvString &aInvalidatorFeatureName ) = 0;
2736 
2756  virtual PvResult SetPIsAvailableFor( const PvString &aStandardFeatureName, const PvString &aPIsAvailableFeatureName ) = 0;
2757 
2778  virtual PvResult SetPIsAvailableForEnumEntry( const PvString &aStandardFeatureName, const PvString &aEnumEntryName, const PvString &aPIsAvailableFeatureName ) = 0;
2779  virtual PvResult SetPIsLockedFor( const PvString &aStandardFeatureName, const PvString &aPIsLockedFeatureName ) = 0;
2780 
2793  virtual PvResult SetPValueFor( const PvString &aStandardFeatureName, const PvString &aPValueFeatureName ) = 0;
2794 
2807  virtual PvResult SetPMinFor( const PvString &aStandardFeatureName, const PvString &aPMinFeatureName ) = 0;
2808 
2821  virtual PvResult SetPMaxFor( const PvString &aStandardFeatureName, const PvString &aPMaxFeatureName ) = 0;
2822 
2835  virtual PvResult SetPIncFor( const PvString &aStandardFeatureName, const PvString &aPIncFeatureName ) = 0;
2836 
2846  virtual void SetPMin( const PvString &aFeatureName ) = 0;
2847 
2857  virtual void SetPMax( const PvString &aFeatureName ) = 0;
2858 
2868  virtual void SetPInc( const PvString &aFeatureName ) = 0;
2869 };
2870 
2871 
2872 
2877 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEV
2878 {
2879 public:
2880 
2884  virtual ~IPvSoftDeviceGEV() {}
2885 
2900  virtual PvResult AddStream( IPvStreamingChannelSource * aSource ) = 0;
2901 
2972  virtual PvResult SetUserSetCount( uint32_t aCount ) = 0;
2973 
2982  virtual PvResult SetUserSetNotify ( IPvUserSetNotify *aUserSetNotify ) = 0;
2983 
3002  virtual PvResult SetTCPTransportEnabled( bool aEnabled ) = 0;
3003 
3026  virtual PvResult SetRTPProtocolEnabled( bool aEnabled ) = 0;
3027 
3033  virtual PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler ) = 0;
3034 
3049  virtual PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
3050 
3063  virtual PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
3064 
3080  virtual PvResult Start( const PvString &aIpAddress ) = 0;
3081 
3090  virtual PvResult Stop() = 0;
3091 
3102  virtual IPvSoftDeviceGEVInfo *GetInfo() = 0;
3103 
3118  virtual IPvRegisterMap *GetRegisterMap() = 0;
3119 
3127  virtual IPvSoftDeviceGEVStatistics *GetStatistics() = 0;
3128 
3142  virtual IPvMessageChannel *GetMessagingChannel() = 0;
3143  //virtual IPvTrigger *GetTrigger( uint32_t aChannel ) = 0;
3144 
3158  virtual PvResult GetGenICamXMLFile( PvString &aString ) const = 0;
3159 };
3160 
3161 #endif
PvResult
Result information.
Definition: PvResult.h:29
IPvRegisterEventSink::~IPvRegisterEventSink
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1781
IPvSoftDeviceGEVEventSink::OnDeviceResetNetwork
virtual void OnDeviceResetNetwork(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has reset its network stack.
Definition: PvSoftDeviceGEVInterfaces.h:702
IPvRegisterEventSink::PreWrite
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1841
IPvRegisterMap
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1951
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:1437
IPvRegisterMap::~IPvRegisterMap
virtual ~IPvRegisterMap()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1958
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:527
IPvSoftDeviceGEVStatistics::~IPvSoftDeviceGEVStatistics
virtual ~IPvSoftDeviceGEVStatistics()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:372
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:2066
IPvSoftDeviceGEVInfo::SetGenICamXMLRegDescModelName
virtual PvResult SetGenICamXMLRegDescModelName(const PvString &aModelName)
Set the GenICam XML register description model name.
Definition: PvSoftDeviceGEVInterfaces.h:335
IPvMessageChannel
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:526
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:528
IPvRegister::~IPvRegister
virtual ~IPvRegister()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1551
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:734
IPvSoftDeviceGEVInfo::GetGenICamXMLRegDescVendorName
virtual const PvString & GetGenICamXMLRegDescVendorName()
Returns the GenICam XML Register Description vendor name.
Definition: PvSoftDeviceGEVInterfaces.h:280
IPvStreamingChannelSource::PreQueueBufferProc
virtual bool PreQueueBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1216
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:1396
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:718
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:636
IPvRegisterFactory
Class used for register creation.
Definition: PvSoftDeviceGEVInterfaces.h:1895
IPvRegister
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1543
IPvSoftDeviceGEV::~IPvSoftDeviceGEV
virtual ~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2884
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:1274
IPvRegisterEventSink::PreRead
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1804
IPvSoftDeviceGEVEventSink::OnApplicationDisconnect
virtual void OnApplicationDisconnect(IPvSoftDeviceGEV *aDevice)
Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV.
Definition: PvSoftDeviceGEVInterfaces.h:674
IPvSoftDeviceGEVEventSink::~IPvSoftDeviceGEVEventSink
virtual ~IPvSoftDeviceGEVEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:626
IPvSoftDeviceGEVStatistics
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:365
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:1340
IPvGenApiFactory::~IPvGenApiFactory
virtual ~IPvGenApiFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2073
IPvRegisterEventSink::PostWrite
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1854
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:1361
PvGenTypes.h
GenICam feature-related constants.
IPvStreamingChannelSource::PostRetrieveBufferProc
virtual void PostRetrieveBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1223
IPvRegisterFactory::~IPvRegisterFactory
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1902
IPvSoftDeviceGEV
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:2877
IPvSoftDeviceGEVEventSink::OnControlChannelStop
virtual void OnControlChannelStop(IPvSoftDeviceGEV *aDevice)
Notification that the control channel of the PvSoftDeviceGEV has been stopped.
Definition: PvSoftDeviceGEVInterfaces.h:683
IPvRegisterEventSink::PostRead
virtual void PostRead(IPvRegister *aRegister)
Post-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1813
IPvStreamingChannelSource::~IPvStreamingChannelSource
virtual ~IPvStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:794
IPvRegisterStore
Class used with register persistence in the context of user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1732
PvResult::Code::OK
@ OK
Definition: PvResult.h:508
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:1379
IPvSoftDeviceGEVEventSink::OnDeviceResetFull
virtual void OnDeviceResetFull(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has performed a full reset.
Definition: PvSoftDeviceGEVInterfaces.h:692
IPvStreamingChannelSource::GetGevSCPSPacketSizeInfo
virtual PvResult GetGevSCPSPacketSizeInfo(uint32_t &aMax) const
Get the customized max value for GevSCPSPacketSize. Used at PvSoftDeviceGEV::Start time to create the...
Definition: PvSoftDeviceGEVInterfaces.h:1012
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:656
IPvRegisterEventSink
Interface that is used to report the register activity of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1774
IPvSoftDeviceGEVEventSink
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:619
IPvMessageChannel::~IPvMessageChannel
virtual ~IPvMessageChannel()
Destructor.
Definition: PvSoftDeviceGEVInterfaces.h:533
IPvSoftDeviceGEVInfo::GetGenICamXMLRegDescModelName
virtual const PvString & GetGenICamXMLRegDescModelName()
Returns the GenICam XML Register Description model name.
Definition: PvSoftDeviceGEVInterfaces.h:271
IPvRegisterInfo
Interface to access basic information about a PvSoftDeviceGEV register.
Definition: PvSoftDeviceGEVInterfaces.h:1450
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:787
IPvSoftDeviceGEVInfo::SetGenICamXMLRegDescVendorName
virtual PvResult SetGenICamXMLRegDescVendorName(const PvString &aVendorName)
Set the GenICam XML register description vendor name.
Definition: PvSoftDeviceGEVInterfaces.h:350
IPvRegisterInfo::~IPvRegisterInfo
virtual ~IPvRegisterInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1457
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:1882

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