Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



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

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