Pleora Technologies Inc. eBUS SDK v6.6.1.7474 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 
1221  virtual PvResult GetTxNumBuffersToUse( uint32_t &aNumBuffer ) = 0;
1222 
1237  virtual PvResult QueueBuffer( PvBuffer *aBuffer ) = 0;
1238 
1246  virtual bool PreQueueBufferProc() { return true; }
1247 
1253  virtual void PostRetrieveBufferProc() {}
1254 
1275  virtual PvResult RetrieveBuffer( PvBuffer **aBuffer ) = 0;
1276 
1286  virtual void AbortQueuedBuffers() = 0;
1287 
1304  virtual void CreateRegisters( IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory )
1305  {
1306  PVUNREFPARAM( aRegisterMap );
1307  PVUNREFPARAM( aFactory );
1308  }
1309 
1370  virtual void CreateGenApiFeatures( IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory )
1371  {
1372  PVUNREFPARAM( aRegisterMap );
1373  PVUNREFPARAM( aFactory );
1374  }
1375 
1391  virtual bool IsPayloadTypeSupported( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return false; }
1392 
1409  virtual void SetMultiPartAllowed( bool aAllowed ) { PVUNREFPARAM( aAllowed ); }
1410 
1426  virtual void SetLargeLeaderTrailerEnabled( bool aEnabled, uint32_t aMaxMultiPartCount )
1427  {
1428  PVUNREFPARAM( aEnabled );
1429  PVUNREFPARAM( aMaxMultiPartCount );
1430  }
1431 
1467  virtual PvResult SetTestPayloadFormatMode( PvPayloadType aPayloadType ) { PVUNREFPARAM( aPayloadType ); return PvResult::Code::NOT_SUPPORTED; }
1468 };
1469 
1470 
1480 class PV_VIRTUAL_DEVICE_API IPvRegisterInfo
1481 {
1482 public:
1483 
1487  virtual ~IPvRegisterInfo() {}
1488 
1501  virtual const PvString &GetName() = 0;
1502 
1508  virtual uint32_t GetAddress() const = 0;
1509 
1515  virtual size_t GetLength() const = 0;
1516 
1522  virtual const void *GetContext() const = 0;
1523 
1529  virtual void *GetContext() = 0;
1530 
1544  virtual bool IsWritable() const = 0;
1545 
1551  virtual bool IsReadable() const = 0;
1552 
1558  virtual bool IsArrayOfBytes() const = 0;
1559 };
1560 
1561 
1573 class PV_VIRTUAL_DEVICE_API IPvRegister
1574  : public IPvRegisterInfo
1575 {
1576 public:
1577 
1581  virtual ~IPvRegister() {}
1582 
1594  virtual PvResult Read( uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1595 
1607  virtual PvResult Write( const uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1608 
1622  virtual PvResult Read( uint32_t &aValue, uint32_t aOffset = 0 ) = 0;
1623 
1637  virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
1638 
1651  virtual PvResult Read( PvString &aValue ) = 0;
1652 
1665  virtual PvResult Write( const PvString &aValue ) = 0;
1666 
1679  virtual PvResult ReadFloat( float &aValue ) = 0;
1680 
1693  virtual PvResult WriteFloat( float aValue ) = 0;
1694 
1707  virtual PvResult ReadDouble( double &aValue ) = 0;
1708 
1721  virtual PvResult WriteDouble( double aValue ) = 0;
1722 
1735  virtual PvResult AddEventSink( IPvRegisterEventSink *aEventSink ) = 0;
1736 
1747  virtual PvResult RemoveEventSink( IPvRegisterEventSink *aEventSink ) = 0;
1748 };
1749 
1750 
1762 class PV_VIRTUAL_DEVICE_API IPvRegisterStore
1763 {
1764 public:
1765 
1766  virtual ~IPvRegisterStore() {}
1767 
1786  virtual PvResult Persist( IPvRegister *aRegister, const PvString &aNameSuffix ) = 0;
1787 };
1788 
1789 
1804 class PV_VIRTUAL_DEVICE_API IPvRegisterEventSink
1805 {
1806 public:
1807 
1812 
1834  virtual PvResult PreRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
1835 
1843  virtual void PostRead( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
1844 
1871  virtual PvResult PreWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); return PvResult::Code::OK; }
1872 
1884  virtual void PostWrite( IPvRegister *aRegister ) { PVUNREFPARAM( aRegister ); }
1885 
1912  virtual PvResult Persist( IPvRegister *aRegister, IPvRegisterStore *aStore ) { PVUNREFPARAM( aRegister ); PVUNREFPARAM( aStore ); return PvResult::Code::NOT_IMPLEMENTED; }
1913 };
1914 
1915 
1925 class PV_VIRTUAL_DEVICE_API IPvRegisterFactory
1926 {
1927 public:
1928 
1932  virtual ~IPvRegisterFactory() {}
1933 
1948  virtual PvResult AddRegister( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1949  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
1950 
1965  virtual PvResult AddByteArray( const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1966  IPvRegisterEventSink *aRegisterEventSink = NULL, void *aContext = NULL ) = 0;
1967 };
1968 
1969 
1981 class PV_VIRTUAL_DEVICE_API IPvRegisterMap
1982 {
1983 public:
1984 
1988  virtual ~IPvRegisterMap() {}
1989 
1998  virtual size_t GetRegisterCount() = 0;
1999 
2007  virtual IPvRegister *GetRegisterByIndex( size_t aIndex ) = 0;
2008 
2016  virtual IPvRegister *GetRegisterByAddress( uint32_t aAddress ) = 0;
2017 
2041  virtual PvResult Lock() = 0;
2042 
2056  virtual PvResult Lock( uint32_t aTimeout ) = 0;
2057 
2064  virtual void Release() = 0;
2065 };
2066 
2067 
2096 class PV_VIRTUAL_DEVICE_API IPvGenApiFactory
2097 {
2098 public:
2099 
2103  virtual ~IPvGenApiFactory() {}
2104 
2113  virtual void SetName( const PvString &aName ) = 0;
2114 
2138  virtual void SetDisplayName( const PvString &aDisplayName ) = 0;
2139 
2154  virtual void SetCategory( const PvString &aCategory ) = 0;
2155 
2156 
2157  virtual void SetCategory( const PvString &aCategory, const PvString &aCategoryDisplayName ) = 0;
2158 
2164  virtual void SetDescription( const PvString &aDescription ) = 0;
2165 
2171  virtual void SetToolTip( const PvString &aToolTip ) = 0;
2172 
2182  virtual void SetAccessMode( PvGenAccessMode aAccessMode ) = 0;
2183 
2189  virtual void SetRepresentation( PvGenRepresentation aRepresentation ) = 0;
2190 
2196  virtual void SetVisibility( PvGenVisibility aVisibility ) = 0;
2197 
2208  virtual void SetCachable( PvGenCache aCache ) = 0;
2209 
2218  virtual void SetPollingTime( uint32_t aPollingTime ) = 0;
2219 
2229  virtual void SetNameSpace( PvGenNameSpace aNameSpace ) = 0;
2230 
2242  virtual void SetTLLocked( bool aLocked ) = 0;
2243 
2252  virtual void SetStreamable( bool aStreamable ) = 0;
2253 
2263  virtual void SetUnit( const PvString &aUnit ) = 0;
2264 
2278  virtual void SetPValue( const PvString &aFeatureName ) = 0;
2279 
2301  virtual void SetPIsAvailable( const PvString &aFeatureName ) = 0;
2302  virtual void SetPIsLocked( const PvString &aFeatureName ) = 0;
2303 
2318  virtual void MapChunk( uint32_t aChunkID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle ) = 0;
2319 
2335  virtual void MapEvent( uint32_t aEventID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle, bool aAdjustAddress = true ) = 0;
2336 
2361  virtual void AddSelected( const PvString &aFeatureName ) = 0;
2362 
2371  virtual void AddInvalidator( const PvString &aFeatureName ) = 0;
2372 
2385  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue ) = 0;
2386 
2401  virtual void AddEnumEntry( const PvString &aName, uint32_t aValue, const PvString &aDisplayName, PvGenNameSpace aNameSpace = PvGenNameSpaceCustom ) = 0;
2402 
2424  virtual void AddVariable( const PvString &aFeatureName ) = 0;
2425 
2444  virtual PvResult CreateInteger( IPvRegister *aRegister, int64_t aMin, int64_t aMax, int64_t aInc = 1 ) = 0;
2445  virtual PvResult CreateInteger( IPvRegister *aRegister = NULL ) = 0;
2446 
2464  virtual PvResult CreateFloat( IPvRegister *aRegister, double aMin, double aMax ) = 0;
2465  virtual PvResult CreateFloat( IPvRegister *aRegister = NULL ) = 0;
2466 
2481  virtual PvResult CreateString( IPvRegister *aRegister = NULL ) = 0;
2482  virtual PvResult CreateRegister( IPvRegister *aRegister = NULL ) = 0;
2483 
2498  virtual PvResult CreateBoolean( IPvRegister *aRegister = NULL ) = 0;
2499 
2514  virtual PvResult CreateCommand( IPvRegister *aRegister = NULL ) = 0;
2515 
2531  virtual PvResult CreateEnum( IPvRegister *aRegister = NULL ) = 0;
2532 
2577  virtual PvResult CreateIntSwissKnife( const PvString &aFormula ) = 0;
2578 
2624  virtual PvResult CreateFloatSwissKnife( const PvString &aFormula ) = 0;
2625 
2685  virtual PvResult CreateIntConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
2686 
2746  virtual PvResult CreateFloatConverter( const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula ) = 0;
2747 
2765  virtual PvResult AddInvalidatorTo( const PvString &aStandardFeatureName, const PvString &aInvalidatorFeatureName ) = 0;
2766 
2786  virtual PvResult SetPIsAvailableFor( const PvString &aStandardFeatureName, const PvString &aPIsAvailableFeatureName ) = 0;
2787 
2808  virtual PvResult SetPIsAvailableForEnumEntry( const PvString &aStandardFeatureName, const PvString &aEnumEntryName, const PvString &aPIsAvailableFeatureName ) = 0;
2809  virtual PvResult SetPIsLockedFor( const PvString &aStandardFeatureName, const PvString &aPIsLockedFeatureName ) = 0;
2810 
2823  virtual PvResult SetPValueFor( const PvString &aStandardFeatureName, const PvString &aPValueFeatureName ) = 0;
2824 
2837  virtual PvResult SetPMinFor( const PvString &aStandardFeatureName, const PvString &aPMinFeatureName ) = 0;
2838 
2851  virtual PvResult SetPMaxFor( const PvString &aStandardFeatureName, const PvString &aPMaxFeatureName ) = 0;
2852 
2865  virtual PvResult SetPIncFor( const PvString &aStandardFeatureName, const PvString &aPIncFeatureName ) = 0;
2866 
2876  virtual void SetPMin( const PvString &aFeatureName ) = 0;
2877 
2887  virtual void SetPMax( const PvString &aFeatureName ) = 0;
2888 
2898  virtual void SetPInc( const PvString &aFeatureName ) = 0;
2899 };
2900 
2901 
2902 
2907 class PV_VIRTUAL_DEVICE_API IPvSoftDeviceGEV
2908 {
2909 public:
2910 
2914  virtual ~IPvSoftDeviceGEV() {}
2915 
2930  virtual PvResult AddStream( IPvStreamingChannelSource * aSource ) = 0;
2931 
3002  virtual PvResult SetUserSetCount( uint32_t aCount ) = 0;
3003 
3012  virtual PvResult SetUserSetNotify ( IPvUserSetNotify *aUserSetNotify ) = 0;
3013 
3032  virtual PvResult SetTCPTransportEnabled( bool aEnabled ) = 0;
3033 
3056  virtual PvResult SetRTPProtocolEnabled( bool aEnabled ) = 0;
3057 
3063  virtual PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler ) = 0;
3064 
3079  virtual PvResult RegisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
3080 
3093  virtual PvResult UnregisterEventSink( IPvSoftDeviceGEVEventSink *aEventSink ) = 0;
3094 
3110  virtual PvResult Start( const PvString &aIpAddress ) = 0;
3111 
3120  virtual PvResult Stop() = 0;
3121 
3132  virtual IPvSoftDeviceGEVInfo *GetInfo() = 0;
3133 
3148  virtual IPvRegisterMap *GetRegisterMap() = 0;
3149 
3157  virtual IPvSoftDeviceGEVStatistics *GetStatistics() = 0;
3158 
3172  virtual IPvMessageChannel *GetMessagingChannel() = 0;
3173  //virtual IPvTrigger *GetTrigger( uint32_t aChannel ) = 0;
3174 
3188  virtual PvResult GetGenICamXMLFile( PvString &aString ) const = 0;
3189 };
3190 
3191 #endif
PvResult
Result information.
Definition: PvResult.h:29
IPvRegisterEventSink::~IPvRegisterEventSink
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1811
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:1871
IPvRegisterMap
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1981
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:1467
IPvRegisterMap::~IPvRegisterMap
virtual ~IPvRegisterMap()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1988
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:2096
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:1581
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:1246
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:1426
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:1925
IPvRegister
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1573
IPvSoftDeviceGEV::~IPvSoftDeviceGEV
virtual ~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2914
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:1304
IPvRegisterEventSink::PreRead
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1834
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:1370
IPvGenApiFactory::~IPvGenApiFactory
virtual ~IPvGenApiFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2103
IPvRegisterEventSink::PostWrite
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1884
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:1391
PvGenTypes.h
GenICam feature-related constants.
IPvStreamingChannelSource::PostRetrieveBufferProc
virtual void PostRetrieveBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1253
IPvRegisterFactory::~IPvRegisterFactory
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1932
IPvSoftDeviceGEV
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:2907
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:1843
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:1762
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:1409
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:1804
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:1480
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:1487
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:1912

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