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 
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 
3050 
3064 
3080  virtual PvResult Start( const PvString &aIpAddress ) = 0;
3081 
3090  virtual PvResult Stop() = 0;
3091 
3103 
3119 
3128 
3143  //virtual IPvTrigger *GetTrigger( uint32_t aChannel ) = 0;
3144 
3158  virtual PvResult GetGenICamXMLFile( PvString &aString ) const = 0;
3159 };
3160 
3161 #endif
PvDevice library enumerations.
PvAccessType
GigE Vision device access type.
Definition: PvDeviceEnums.h:54
GenICam feature-related constants.
PvGenVisibility
Feature (PvGenParameter object) visibility.
Definition: PvGenTypes.h:61
PvGenRepresentation
Definition: PvGenTypes.h:159
PvPayloadType
GVSP payload type.
Definition: PvPayloadType.h:67
PvPixelType
Definition: PvPixelType.h:58
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvSoftDeviceGEVInterfaces.h:2067
virtual void SetDisplayName(const PvString &aDisplayName)=0
Sets the display name of the next feature to be added to the GenICam XML.
virtual PvResult CreateFloatConverter(const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula)=0
Adds a float Converter to the GenICam XML file using the current state of the factory for its attribu...
virtual PvResult SetPValueFor(const PvString &aStandardFeatureName, const PvString &aPValueFeatureName)=0
Forces a pValue reference for a feature managed by PvSoftDeviceGEV.
virtual PvResult CreateFloatSwissKnife(const PvString &aFormula)=0
Adds a float SwissKnife to the GenICam XML file using the current state of the factory for its attrib...
virtual PvResult SetPIsAvailableForEnumEntry(const PvString &aStandardFeatureName, const PvString &aEnumEntryName, const PvString &aPIsAvailableFeatureName)=0
Forces a pIsAvailable reference for a the enum entry of an enum feature managed by PvSoftDeviceGEV.
virtual void SetDescription(const PvString &aDescription)=0
Sets the description of the next feature to be added to the GenICam XML file.
virtual void SetPMax(const PvString &aFeatureName)=0
Sets node to use for integer or float dynamic maximum attribute.
virtual PvResult AddInvalidatorTo(const PvString &aStandardFeatureName, const PvString &aInvalidatorFeatureName)=0
Adds a a custom invalidator to a feature managed by PvSoftDeviceGEV.
virtual PvResult CreateIntConverter(const PvString &aValueFeatureName, const PvString &aFromFormula, const PvString &aToFormula)=0
Adds an integer Converter to the GenICam XML file using the current state of the factory for its attr...
virtual void SetRepresentation(PvGenRepresentation aRepresentation)=0
Sets the numeric representation of the next feature to be added to the GenICam XML file.
virtual void AddVariable(const PvString &aFeatureName)=0
Adds a variable that will be declared for the next SwissKnife of Converter to be added to the GenICam...
virtual void SetCachable(PvGenCache aCache)=0
Sets the cache behavior of the next feature to be added to the GenICam XML file.
virtual void SetVisibility(PvGenVisibility aVisibility)=0
Sets the visibility of the next feature to be added to the GenICam XML.
virtual PvResult CreateFloat(IPvRegister *aRegister, double aMin, double aMax)=0
Adds a float feature to the GenICam XML file using the current state of the factory for its attribute...
virtual void AddSelected(const PvString &aFeatureName)=0
Adds a selector to the next feature to be added to the GenICam XML file.
virtual void MapEvent(uint32_t aEventID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness=PvGenEndiannessLittle, bool aAdjustAddress=true)=0
Maps the next feature to be added to the GenICam XML file to a messaging channel event,...
virtual void SetCategory(const PvString &aCategory)=0
Sets the category of the next feature to be added to the GenICam XML file.
virtual PvResult CreateIntSwissKnife(const PvString &aFormula)=0
Adds an integer SwissKnife to the GenICam XML file using the current state of the factory for its att...
virtual PvResult CreateString(IPvRegister *aRegister=NULL)=0
Adds a string feature to the GenICam XML file using the current state of the factory for its attribut...
virtual void SetStreamable(bool aStreamable)=0
Sets the streamable behaviour of the next feature to be added to the GenICam XML.
virtual void SetPInc(const PvString &aFeatureName)=0
Sets node to use for integer dynamic increment attribute.
virtual void SetPMin(const PvString &aFeatureName)=0
Sets node to use for integer or float dynamic minimum attribute.
virtual void SetAccessMode(PvGenAccessMode aAccessMode)=0
Sets the access mode of the next feature to be added to the GenICam XML file.
virtual void SetPollingTime(uint32_t aPollingTime)=0
Sets the polling time, in ms, of the next feature to be added to the GenICam XML file.
virtual void AddEnumEntry(const PvString &aName, uint32_t aValue, const PvString &aDisplayName, PvGenNameSpace aNameSpace=PvGenNameSpaceCustom)=0
Add an enumeration entry to the next feature to be added to the GenICam XML file.
virtual PvResult SetPMinFor(const PvString &aStandardFeatureName, const PvString &aPMinFeatureName)=0
Forces a pMin reference for an integer or float feature managed by PvSoftDeviceGEV.
virtual ~IPvGenApiFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2073
virtual void SetNameSpace(PvGenNameSpace aNameSpace)=0
Sets the namespace of the next feature to be added to the GenICam XML file.
virtual PvResult CreateEnum(IPvRegister *aRegister=NULL)=0
Adds an enumeration feature to the GenICam XML file using the current state of the factory for its at...
virtual void SetPValue(const PvString &aFeatureName)=0
Sets the pValue attribute of the next feature to be added to the GenICam XML.
virtual void AddInvalidator(const PvString &aFeatureName)=0
Add an invalidator to the next feature to be added to the GenICam XML file.
virtual void AddEnumEntry(const PvString &aName, uint32_t aValue)=0
Add an enumeration entry to the next feature to be added to the GenICam XML file.
virtual PvResult SetPIsAvailableFor(const PvString &aStandardFeatureName, const PvString &aPIsAvailableFeatureName)=0
Forces a pIsAvailable reference for a feature managed by PvSoftDeviceGEV.
virtual PvResult SetPIncFor(const PvString &aStandardFeatureName, const PvString &aPIncFeatureName)=0
Forces a pInc reference for an integer feature managed by PvSoftDeviceGEV.
virtual void SetUnit(const PvString &aUnit)=0
Sets the units for an integer or float feature.
virtual void SetToolTip(const PvString &aToolTip)=0
Sets the tooltip of the next feature to be added to the GenICam XML file.
virtual PvResult CreateBoolean(IPvRegister *aRegister=NULL)=0
Adds a Boolean feature to the GenICam XML file using the current state of the factory for its attribu...
virtual void MapChunk(uint32_t aChunkID, uint32_t aAddress, size_t aLength, PvGenEndianness aEndianness=PvGenEndiannessLittle)=0
Maps the next feature to be added to the GenICam XML file to a chunk, identified by its ID.
virtual void SetPIsAvailable(const PvString &aFeatureName)=0
Sets the pIsAvaialble attribute of the next feature to be added to the GenICam XML.
virtual PvResult SetPMaxFor(const PvString &aStandardFeatureName, const PvString &aPMaxFeatureName)=0
Forces a pMax reference for an integer or float feature managed by PvSoftDeviceGEV.
virtual PvResult CreateInteger(IPvRegister *aRegister, int64_t aMin, int64_t aMax, int64_t aInc=1)=0
Adds an integer feature to the GenICam XML file using the current state of the factory for its attrib...
virtual void SetTLLocked(bool aLocked)=0
Sets the TLParamsLocked behavior of the next feature to be added to the GenICam XML file.
virtual void SetName(const PvString &aName)=0
Sets the name of the next feature to be added to the GenICam XML file.
virtual PvResult CreateCommand(IPvRegister *aRegister=NULL)=0
Adds a command feature to the GenICam XML file using the current state of the factory for its attribu...
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:527
virtual PvResult FireEvent(uint16_t aEventID, uint64_t aBlockID=0, uint16_t aChannelIndex=0xFFFF)=0
Fires a messaging channel event.
virtual bool IsOpened()=0
Indicates whether the messaging channel is open.
virtual PvResult FireEvent(uint16_t aEventID, uint8_t *aData, uint32_t aDataLength, uint64_t aBlockID=0, uint16_t aChannelIndex=0xFFFF)=0
Fires a messaging channel event.
virtual ~IPvMessageChannel()
Destructor.
Definition: PvSoftDeviceGEVInterfaces.h:533
Interface that is used to report the register activity of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1775
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1841
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1854
virtual void PostRead(IPvRegister *aRegister)
Post-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1813
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1781
virtual PvResult Persist(IPvRegister *aRegister, IPvRegisterStore *aStore)
Peristence request for selected registers for user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1882
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1804
Class used for register creation.
Definition: PvSoftDeviceGEVInterfaces.h:1896
virtual PvResult AddByteArray(const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode, IPvRegisterEventSink *aRegisterEventSink=NULL, void *aContext=NULL)=0
Adds a new array of bytes (String, Register) to the PvSoftDeviceGEV register map.
virtual PvResult AddRegister(const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode, IPvRegisterEventSink *aRegisterEventSink=NULL, void *aContext=NULL)=0
Adds a new register (Integer, Float) to the PvSoftDeviceGEV register map.
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1902
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1545
virtual ~IPvRegister()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1551
virtual PvResult Read(uint32_t &aValue, uint32_t aOffset=0)=0
Reads the register content to a 4-byte unsigned integer.
virtual PvResult ReadDouble(double &aValue)=0
Reads the register content to a double precision floating point.
virtual PvResult Read(PvString &aValue)=0
Reads the register content to a string.
virtual PvResult AddEventSink(IPvRegisterEventSink *aEventSink)=0
Registers a IPvRegisterEventSink for register callbacks.
virtual PvResult Read(uint8_t *aData, uint32_t aByteCount, uint32_t aOffset=0)=0
Reads a register to an array of bytes.
virtual PvResult Write(const uint8_t *aData, uint32_t aByteCount, uint32_t aOffset=0)=0
Writes an array of bytes to a register.
virtual PvResult Write(uint32_t aValue, uint32_t aOffset=0)=0
Writes the register content from a 4-byte unsigned integer.
virtual PvResult RemoveEventSink(IPvRegisterEventSink *aEventSink)=0
Removes an event sink registered with AddEventSink.
virtual PvResult WriteFloat(float aValue)=0
Writes the register content from a float.
virtual PvResult WriteDouble(double aValue)=0
Writes the register content from a double precision floating point.
virtual PvResult Write(const PvString &aValue)=0
Writes the register content from a string.
virtual PvResult ReadFloat(float &aValue)=0
Reads the register content to a 4-byte float.
Interface to access basic information about a PvSoftDeviceGEV register.
Definition: PvSoftDeviceGEVInterfaces.h:1451
virtual const void * GetContext() const =0
Returns the contextual pointer provided at register creation.
virtual bool IsWritable() const =0
Indicates whether the register is writable.
virtual uint32_t GetAddress() const =0
Returns the register address.
virtual bool IsArrayOfBytes() const =0
Indicates whether the register is an array of bytes or plain data type.
virtual ~IPvRegisterInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1457
virtual size_t GetLength() const =0
Returns the length of the register, in bytes.
virtual void * GetContext()=0
Returns the contextual pointer provided at register creation.
virtual bool IsReadable() const =0
Indicates whether the register is readable.
virtual const PvString & GetName()=0
Returns the register name.
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1952
virtual size_t GetRegisterCount()=0
Obtains a count of how many registers are in the PvSoftDeviceGEV register map.
virtual void Release()=0
Releases a lock acquired with Lock.
virtual PvResult Lock(uint32_t aTimeout)=0
Locks the register map for safe register access but fails on timeout.
virtual IPvRegister * GetRegisterByAddress(uint32_t aAddress)=0
Obtains a register from the register map based on the register's address.
virtual IPvRegister * GetRegisterByIndex(size_t aIndex)=0
Obtains a register from the register map based on the register's index.
virtual ~IPvRegisterMap()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1958
virtual PvResult Lock()=0
Locks the register map for safe register access.
Class used with register persistence in the context of user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1733
virtual PvResult Persist(IPvRegister *aRegister, const PvString &aNameSuffix)=0
Persists a register to the register store using a name suffix.
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:620
virtual void OnDeviceResetFull(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has performed a full reset.
Definition: PvSoftDeviceGEVInterfaces.h:692
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
virtual void OnDeviceResetNetwork(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has reset its network stack.
Definition: PvSoftDeviceGEVInterfaces.h:702
virtual void OnApplicationDisconnect(IPvSoftDeviceGEV *aDevice)
Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV.
Definition: PvSoftDeviceGEVInterfaces.h:674
virtual void OnControlChannelStop(IPvSoftDeviceGEV *aDevice)
Notification that the control channel of the PvSoftDeviceGEV has been stopped.
Definition: PvSoftDeviceGEVInterfaces.h:683
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
virtual ~IPvSoftDeviceGEVEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:626
virtual void OnCreateCustomRegisters(IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom registers, if they are needed.
Definition: PvSoftDeviceGEVInterfaces.h:718
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
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:2878
virtual PvResult AddStream(IPvStreamingChannelSource *aSource)=0
Adds a new stream to the PvSoftDeviceGEV.
virtual IPvSoftDeviceGEVStatistics * GetStatistics()=0
Obtains the statistics interface of the PvSoftDeviceGEV.
virtual IPvSoftDeviceGEVInfo * GetInfo()=0
Obtains the information interface of the PvSoftDeviceGEV.
virtual PvResult RegisterEventSink(IPvSoftDeviceGEVEventSink *aEventSink)=0
Registers an event sink to receive notifications from the PvSoftDeviceGEV.
virtual PvResult SetUserSetCount(uint32_t aCount)=0
Sets the number of user-sets supported by the PvSoftDeviceGEV.
virtual ~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2884
virtual PvResult SetUserSetNotify(IPvUserSetNotify *aUserSetNotify)=0
Binds in a class which will contain a callback which will be called when the state of a UsersetLoad/S...
virtual IPvRegisterMap * GetRegisterMap()=0
Obtains the register map interface of the PvSoftDeviceGEV.
virtual PvResult GetGenICamXMLFile(PvString &aString) const =0
Returns the GenICam XML file of the device.
virtual PvResult SetTCPTransportEnabled(bool aEnabled)=0
Enables experimental TCP transport.
virtual PvResult SetRTPProtocolEnabled(bool aEnabled)=0
Enables the option of using RTP for streaming.
virtual PvResult UnregisterEventSink(IPvSoftDeviceGEVEventSink *aEventSink)=0
Unregisters a previously registered event sink.
virtual IPvMessageChannel * GetMessagingChannel()=0
Obtains the messaging channel interface of the PvSoftDeviceGEV.
virtual PvResult Stop()=0
Stops the PvSoftDeviceGEV.
virtual PvResult SetActionHandler(PvVirtualDeviceLib::IActionHandler *aActionHandler)=0
virtual PvResult Start(const PvString &aIpAddress)=0
Starts the PvSoftDeviceGEV.
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:70
virtual PvResult SetGenICamXMLVersion(uint16_t aMajor, uint16_t aMinor, uint16_t aSubMinor)=0
Sets the GenICam XML file version.
virtual const PvString & GetDeviceVersion()=0
Returns the current PvSoftDeviceGEV version string.
virtual ~IPvSoftDeviceGEVInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:76
virtual const PvString & GetManufacturerInformation()=0
Returns the current manufacturer information string.
virtual const PvString & GetSerialNumber()=0
Returns the current serial number string.
virtual PvResult SetDeviceVersion(const PvString &aValue)=0
Updates the device version string.
virtual uint16_t GetGenICamXMLVersionSubMinor() const =0
Returns the GenICam XML file subminor version.
virtual const PvString & GetGenICamXMLRegDescModelName()
Returns the GenICam XML Register Description model name.
Definition: PvSoftDeviceGEVInterfaces.h:271
virtual const PvString & GetManufacturerName()=0
Returns the current manufacturer name.
virtual PvResult SetGenICamXMLGUIDs(const PvString &aProduct, const PvString &aVersion)=0
Sets the GenICam XML file version.
virtual const PvString & GetGenICamXMLVersionGUID()=0
Returns the GenICam XML file Version GUID.
virtual PvResult SetSerialNumber(const PvString &aValue)=0
Updates the serial number string.
virtual PvResult SetGenICamXMLRegDescVendorName(const PvString &aVendorName)
Set the GenICam XML register description vendor name.
Definition: PvSoftDeviceGEVInterfaces.h:350
virtual const PvString & GetDeviceFirmwareVersion()=0
Returns the current PvSoftDeviceGEV firmware version string.
virtual PvResult SetModelName(const PvString &aValue)=0
Updates the model name string.
virtual PvResult SetDeviceFirmwareVersion(const PvString &aValue)=0
Updates the device firmware version string.
virtual const PvString & GetModelName()=0
Returns the current model name.
virtual PvResult SetGenICamXMLRegDescModelName(const PvString &aModelName)
Set the GenICam XML register description model name.
Definition: PvSoftDeviceGEVInterfaces.h:335
virtual uint16_t GetGenICamXMLVersionMinor() const =0
Returns the GenICam XML file minor version.
virtual PvResult SetManufacturerInformation(const PvString &aValue)=0
Updates the manufacturer information string.
virtual uint16_t GetGenICamXMLVersionMajor() const =0
Returns the GenICam XML file major version.
virtual PvResult SetManufacturerName(const PvString &aValue)=0
Updates the manufacturer name string.
virtual const PvString & GetGenICamXMLRegDescVendorName()
Returns the GenICam XML Register Description vendor name.
Definition: PvSoftDeviceGEVInterfaces.h:280
virtual const PvString & GetGenICamXMLProductGUID()=0
Returns the GenICam XML file Product GUID.
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:366
virtual uint64_t GetEventRetriesIssuedMax() const =0
virtual uint64_t GetRetriesReceived() const =0
GVCP command retries received.
virtual uint64_t GetForceIpsReceived() const =0
GVCP force IP configuration (FORCEIP_CMD) commands received.
virtual uint64_t GetSessionsOpened() const =0
Returns the device controller session open count.
virtual uint64_t GetReadRegsReceived() const =0
GVCP read register (READREG_CMD) commands received.
virtual uint64_t GetRetriesReceivedMax() const =0
GVCP command retries maximum for a single command.
virtual uint64_t GetDiscoveriesReceived() const =0
GVCP discovery (DISCOVERY_CMD) commands received.
virtual uint64_t GetEventRetriesIssued() const =0
GVCP retries issued for unacknowledged messaging channel event or event data commands.
virtual uint64_t GetWriteMemsReceived() const =0
GVCP write memory (WRITEMEM_CMD) commands received.
virtual uint64_t GetEventDatasIssued() const =0
GVCP messaging channel event (with data) comands (EVENTDATA_CMD) issued.
virtual uint64_t GetWriteRegsReceived() const =0
GVCP write register (WRITEREG_CMD) commands received.
virtual uint64_t GetPacketResendRequestsReceived() const =0
GVCP packet resend (PACKETRESEND_CMD) commands received.
virtual void Reset()=0
Resets all counters to zero.
virtual uint64_t GetGVSPTestPacketsIssued() const =0
Returns the number of GVSP test packets issued.
virtual uint64_t GetSessionsClosed() const =0
Returns the device controller session close count.
virtual uint64_t GetActionCommandsReceived() const =0
GVCP action command (ACTION_CMD) received.
virtual ~IPvSoftDeviceGEVStatistics()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:372
virtual uint64_t GetPendingAcksIssued() const =0
GVCP pending acknowledges (PENDING_ACK) issued.
virtual uint64_t GetEventsIssued() const =0
GVCP messaging channel event commands (EVENT_CMD) issued.
virtual uint64_t GetReadMemsReceived() const =0
GVCP read memory (READMEM_CMD) commands received.
virtual uint64_t GetHeartbeatFailedCount() const =0
Returns the device controller session close on heartbeat failure count.
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:788
virtual ~IPvStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:794
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
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
virtual PvPixelType GetPixelType() const =0
Returns the current pixel type.
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
virtual void FreeBuffer(PvBuffer *aBuffer)=0
Request by the PvSoftDeviceGEV to free or release a buffer allocated with AllocBuffer.
virtual bool PreQueueBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1216
virtual void PostRetrieveBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1223
virtual uint32_t GetOffsetX() const =0
Returns the current image offset X.
virtual uint32_t GetPayloadSize() const =0
Stream channel payload size in bytes. Return zero to have it inferred from width, height and pixel fo...
virtual PvResult SetWidth(uint32_t aWidth)=0
Request from the PvSoftDeviceGEV to change the image width.
virtual PvResult SetOffsetX(uint32_t aOffsetX)=0
Request from the PvSoftDeviceGEV to change the image offset X.
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
virtual void GetWidthInfo(uint32_t &aMin, uint32_t &aMax, uint32_t &aInc) const =0
Returns the stream channel width attributes.
virtual PvResult GetSupportedChunk(int aIndex, uint32_t &aID, PvString &aName) const =0
Returns the indexed supported chunk type. Used at PvSoftDeviceGEV::Start time to create the GenICam X...
virtual void OnOpen(const PvString &aDestIP, uint16_t aDestPort)=0
Notification from the PvSoftDeviceGEV that this streaming channel has been opened.
virtual PvResult SetChunkModeActive(bool aEnabled)=0
Set the master chunk mode active state.
virtual void OnStreamingStart()=0
Notification that the GigE Vision controller has requested that the device start streaming on this ch...
virtual uint32_t GetWidth() const =0
Returns the current image width.
virtual PvResult RetrieveBuffer(PvBuffer **aBuffer)=0
Request by the PvSoftDeviceGEV to retrieve a buffer from the streaming source.
virtual PvBuffer * AllocBuffer()=0
Request by the PvSoftDeviceGEV to allocate a PvBuffer.
virtual PvResult SetPixelType(PvPixelType aPixelType)=0
Request from the PvSoftDeviceGEV to change the image pixel type.
virtual PvResult SetHeight(uint32_t aHeight)=0
Request from the PvSoftDeviceGEV to change the image height.
virtual PvScanType GetScanType() const =0
Returns the scan type that is used by the streaming source.
virtual PvResult SetOffsetY(uint32_t aOffsetY)=0
Request from the PvSoftDeviceGEV to change the image offset Y.
virtual uint32_t GetHeight() const =0
Returns the current image height.
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
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
virtual PvResult GetSupportedPixelType(int aIndex, PvPixelType &aPixelType) const =0
Obtains an index of supported pixel types. Used at PvSoftDeviceGEV::Start time to create the GenICam ...
virtual void OnStreamingStop()=0
Notification that the GigE Vision controller has requested that the device stop streaming on this cha...
virtual PvResult QueueBuffer(PvBuffer *aBuffer)=0
Request by the PvSoftDeviceGEV to queue a buffer for acquisition.
virtual uint32_t GetOffsetY() const =0
Returns the current image offset Y.
virtual uint32_t GetChunksSize() const =0
Gets the stream channel chunk size attributes.
virtual bool GetChunkEnable(uint32_t aChunkID) const =0
Returns the current chunk enabled state.
virtual void GetHeightInfo(uint32_t &aMin, uint32_t &aMax, uint32_t &aInc) const =0
Returns the stream channel height attributes.
virtual void AbortQueuedBuffers()=0
Request by the PvSoftDeviceGEV to abort all buffers queued for acquisition.
virtual PvResult SetChunkEnable(uint32_t aChunkID, bool aEnabled)=0
Sets the chunk enabled state for a specific chunk type.
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
virtual void OnClose()=0
Notification from the PvSoftDeviceGEV that this streaming channel has been closed.
virtual bool GetChunkModeActive() const =0
Indicates whether the current master chunk mode is active.
An interface to register a state change callback for UserSets.
Definition: IPvUserSetNotify.h:46
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:97
Result information.
Definition: PvResult.h:30
String class.
Definition: PvString.h:26
@ OK
Definition: PvResult.h:508
@ NOT_SUPPORTED
Definition: PvResult.h:528
@ NOT_IMPLEMENTED
Definition: PvResult.h:527

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