eBUS SDK v7.0.1.7536 API
7 #ifndef __PVVIRTUALDEVICEGEVINTERFACES_H__
8 #define __PVVIRTUALDEVICEGEVINTERFACES_H__
10 #include <PvVirtualDeviceLib.h>
25 namespace PvVirtualDeviceLib
35 PvScanTypeInvalid = -1,
88 virtual const PvString& GetManufacturerName() = 0;
97 virtual const PvString& GetModelName() = 0;
106 virtual const PvString& GetDeviceVersion() = 0;
115 virtual const PvString& GetDeviceFirmwareVersion() = 0;
124 virtual const PvString& GetManufacturerInformation() = 0;
133 virtual const PvString& GetSerialNumber() = 0;
229 virtual uint16_t GetGenICamXMLVersionMajor()
const = 0;
238 virtual uint16_t GetGenICamXMLVersionMinor()
const = 0;
247 virtual uint16_t GetGenICamXMLVersionSubMinor()
const = 0;
256 virtual const PvString& GetGenICamXMLProductGUID() = 0;
265 virtual const PvString& GetGenICamXMLVersionGUID() = 0;
299 virtual PvResult SetGenICamXMLVersion( uint16_t aMajor, uint16_t aMinor, uint16_t aSubMinor ) = 0;
340 PVUNREFPARAM( aModelName);
359 PVUNREFPARAM( aVendorName );
388 virtual void Reset() = 0;
395 virtual uint64_t GetReadMemsReceived()
const = 0;
402 virtual uint64_t GetWriteMemsReceived()
const = 0;
409 virtual uint64_t GetReadRegsReceived()
const = 0;
416 virtual uint64_t GetWriteRegsReceived()
const = 0;
423 virtual uint64_t GetDiscoveriesReceived()
const = 0;
430 virtual uint64_t GetActionCommandsReceived()
const = 0;
437 virtual uint64_t GetForceIpsReceived()
const = 0;
444 virtual uint64_t GetPacketResendRequestsReceived()
const = 0;
451 virtual uint64_t GetPendingAcksIssued()
const = 0;
458 virtual uint64_t GetRetriesReceived()
const = 0;
465 virtual uint64_t GetRetriesReceivedMax()
const = 0;
472 virtual uint64_t GetEventsIssued()
const = 0;
479 virtual uint64_t GetEventDatasIssued()
const = 0;
486 virtual uint64_t GetEventRetriesIssued()
const = 0;
494 virtual uint64_t GetEventRetriesIssuedMax()
const = 0;
501 virtual uint64_t GetSessionsOpened()
const = 0;
508 virtual uint64_t GetSessionsClosed()
const = 0;
515 virtual uint64_t GetHeartbeatFailedCount()
const = 0;
522 virtual uint64_t GetGVSPTestPacketsIssued()
const = 0;
567 virtual PvResult FireEvent( uint16_t aEventID, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
595 virtual PvResult FireEvent( uint16_t aEventID, uint8_t* aData, uint32_t aDataLength, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
606 virtual bool IsOpened() = 0;
649 PVUNREFPARAM( aDevice );
650 PVUNREFPARAM( aIPAddress );
651 PVUNREFPARAM( aPort );
652 PVUNREFPARAM( aAccessType );
670 PVUNREFPARAM( aDevice );
671 PVUNREFPARAM( aMACAddress );
672 PVUNREFPARAM( aIPAddress );
673 PVUNREFPARAM( aMask );
674 PVUNREFPARAM( aGateway );
675 PVUNREFPARAM( aPort );
732 PVUNREFPARAM( aDevice );
733 PVUNREFPARAM( aFactory );
819 virtual uint32_t GetWidth()
const = 0;
828 virtual uint32_t GetHeight()
const = 0;
837 virtual uint32_t GetOffsetX()
const = 0;
846 virtual uint32_t GetOffsetY()
const = 0;
867 virtual void GetWidthInfo( uint32_t& aMin, uint32_t& aMax, uint32_t& aInc )
const = 0;
879 virtual void GetHeightInfo( uint32_t& aMin, uint32_t& aMax, uint32_t& aInc )
const = 0;
897 virtual uint32_t GetChunksSize()
const = 0;
913 virtual uint32_t GetPayloadSize()
const = 0;
923 virtual PvScanType GetScanType()
const = 0;
933 virtual bool GetChunkModeActive()
const = 0;
949 virtual bool GetChunkEnable( uint32_t aChunkID )
const = 0;
1006 virtual PvResult GetSupportedChunk(
int aIndex, uint32_t& aID,
PvString& aName )
const = 0;
1030 PVUNREFPARAM( aMax );
1051 virtual PvResult SetWidth( uint32_t aWidth ) = 0;
1070 virtual PvResult SetHeight( uint32_t aHeight ) = 0;
1085 virtual PvResult SetOffsetX( uint32_t aOffsetX ) = 0;
1100 virtual PvResult SetOffsetY( uint32_t aOffsetY ) = 0;
1135 virtual PvResult SetChunkModeActive(
bool aEnabled ) = 0;
1152 virtual PvResult SetChunkEnable( uint32_t aChunkID,
bool aEnabled ) = 0;
1160 virtual void OnOpen(
const PvString& aDestIP, uint16_t aDestPort ) = 0;
1165 virtual void OnClose() = 0;
1170 virtual void OnStreamingStart() = 0;
1175 virtual void OnStreamingStop() = 0;
1195 PVUNREFPARAM( aRegisterMap );
1196 PVUNREFPARAM( aFactory );
1261 PVUNREFPARAM( aRegisterMap );
1262 PVUNREFPARAM( aFactory );
1282 PVUNREFPARAM( aPayloadType );
1321 PVUNREFPARAM( aEnabled );
1322 PVUNREFPARAM( aMaxMultiPartCount );
1362 PVUNREFPARAM( aPayloadType );
1398 virtual const PvString& GetName() = 0;
1405 virtual uint32_t GetAddress()
const = 0;
1412 virtual size_t GetLength()
const = 0;
1419 virtual const void* GetContext()
const = 0;
1426 virtual void* GetContext() = 0;
1441 virtual bool IsWritable()
const = 0;
1448 virtual bool IsReadable()
const = 0;
1455 virtual bool IsArrayOfBytes()
const = 0;
1491 virtual PvResult Read( uint8_t* aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1504 virtual PvResult Write(
const uint8_t* aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1519 virtual PvResult Read( uint32_t& aValue, uint32_t aOffset = 0 ) = 0;
1534 virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
1576 virtual PvResult ReadFloat(
float& aValue ) = 0;
1590 virtual PvResult WriteFloat(
float aValue ) = 0;
1604 virtual PvResult ReadDouble(
double& aValue ) = 0;
1618 virtual PvResult WriteDouble(
double aValue ) = 0;
1733 PVUNREFPARAM( aRegister );
1774 PVUNREFPARAM( aRegister );
1819 PVUNREFPARAM( aRegister );
1820 PVUNREFPARAM( aStore );
1926 virtual size_t GetRegisterCount() = 0;
1935 virtual IPvRegister* GetRegisterByIndex(
size_t aIndex ) = 0;
1944 virtual IPvRegister* GetRegisterByAddress( uint32_t aAddress ) = 0;
1984 virtual PvResult Lock( uint32_t aTimeout ) = 0;
1992 virtual void Release() = 0;
2041 virtual void SetName(
const PvString& aName ) = 0;
2066 virtual void SetDisplayName(
const PvString& aDisplayName ) = 0;
2082 virtual void SetCategory(
const PvString& aCategory ) = 0;
2099 virtual void SetCategory(
const PvString& aCategory,
const PvString& aCategoryDisplayName ) = 0;
2106 virtual void SetDescription(
const PvString& aDescription ) = 0;
2113 virtual void SetToolTip(
const PvString& aToolTip ) = 0;
2150 virtual void SetCachable(
PvGenCache aCache ) = 0;
2160 virtual void SetPollingTime( uint32_t aPollingTime ) = 0;
2184 virtual void SetTLLocked(
bool aLocked ) = 0;
2194 virtual void SetStreamable(
bool aStreamable ) = 0;
2205 virtual void SetUnit(
const PvString& aUnit ) = 0;
2220 virtual void SetPValue(
const PvString& aFeatureName ) = 0;
2243 virtual void SetPIsAvailable(
const PvString& aFeatureName ) = 0;
2253 virtual void SetPIsLocked(
const PvString& aFeatureName ) = 0;
2312 virtual void AddSelected(
const PvString& aFeatureName ) = 0;
2322 virtual void AddInvalidator(
const PvString& aFeatureName ) = 0;
2336 virtual void AddEnumEntry(
const PvString& aName, uint32_t aValue ) = 0;
2375 virtual void AddVariable(
const PvString& aFeatureName ) = 0;
2395 virtual PvResult CreateInteger(
IPvRegister* aRegister, int64_t aMin, int64_t aMax, int64_t aInc = 1 ) = 0;
2756 virtual PvResult AddInvalidatorTo(
const PvString& aStandardFeatureName,
const PvString& aInvalidatorFeatureName ) = 0;
2796 virtual PvResult SetPIsAvailableFor(
const PvString& aStandardFeatureName,
const PvString& aPIsAvailableFeatureName ) = 0;
2818 virtual PvResult SetPIsAvailableForEnumEntry(
const PvString& aStandardFeatureName,
const PvString& aEnumEntryName,
const PvString& aPIsAvailableFeatureName ) = 0;
2830 virtual PvResult SetPIsLockedFor(
const PvString& aStandardFeatureName,
const PvString& aPIsLockedFeatureName ) = 0;
2897 virtual void SetPMin(
const PvString& aFeatureName ) = 0;
2908 virtual void SetPMax(
const PvString& aFeatureName ) = 0;
2919 virtual void SetPInc(
const PvString& aFeatureName ) = 0;
3007 virtual PvResult SetUserSetCount( uint32_t aCount ) = 0;
3028 virtual PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler* aActionHandler ) = 0;
3155 #endif // __PVVIRTUALDEVICEGEVINTERFACES_H__
virtual void OnControlChannelStart(IPvVirtualDeviceGEV *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: PvVirtualDeviceGEVInterfaces.h:667
Interface to the main class of the software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:2928
Result information.
Definition: PvResult.h:29
virtual void OnCreateCustomGenApiFeatures(IPvVirtualDeviceGEV *aDevice, IPvGenApiFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom GenApi parameters, if they are needed.
Definition: PvVirtualDeviceGEVInterfaces.h:750
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:1708
@ OK
Success! (Immediate.)
Definition: PvResult.h:252
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvVirtualDeviceGEVInterfaces.h:1772
Register map interface for a software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:1909
virtual PvResult SetTestPayloadFormatMode(PvPayloadType aPayloadType)
When called, the streaming source has to ensure it can stream buffers of the specified payload type.
Definition: PvVirtualDeviceGEVInterfaces.h:1360
virtual ~IPvRegisterMap()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:1916
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvVirtualDeviceGEVInterfaces.h:376
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvVirtualDeviceGEVInterfaces.h:2024
PvGenAccessMode
Definition: PvGenTypes.h:158
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:537
PvAccessType
GigE Vision device access type.
Definition: PvDeviceEnums.h:28
An interface to register a state change callback for UserSets.
Definition: IPvUserSetNotify.h:32
GVSP payload type constants.
virtual ~IPvRegister()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:1478
virtual ~IPvVirtualDeviceGEVStatistics()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:383
virtual void OnDeviceResetNetwork(IPvVirtualDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has reset its network stack.
Definition: PvVirtualDeviceGEVInterfaces.h:714
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: PvVirtualDeviceGEVInterfaces.h:1319
String class.
Definition: PvString.h:25
virtual ~IPvVirtualDeviceGEV()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:2935
PvGenRepresentation
Definition: PvGenTypes.h:120
Class used for register creation.
Definition: PvVirtualDeviceGEVInterfaces.h:1835
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:1470
virtual void CreateRegisters(IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory)
When called, the streaming channel source should create its custom registers if they are needed.
Definition: PvVirtualDeviceGEVInterfaces.h:1193
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvVirtualDeviceGEVInterfaces.h:1731
PvGenNameSpace
Definition: PvGenTypes.h:146
virtual PvResult SetGenICamXMLRegDescVendorName(const PvString &aVendorName)
Set the GenICam XML register description vendor name.
Definition: PvVirtualDeviceGEVInterfaces.h:357
@ NOT_IMPLEMENTED
The requested feature or functionality is not implemented.
Definition: PvResult.h:340
PvDevice library enumerations.
PvPayloadType
GVSP payload type.
Definition: PvPayloadType.h:19
virtual void CreateGenApiFeatures(IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
When called, the streaming channel source should create its custom GenApi parameters if they are need...
Definition: PvVirtualDeviceGEVInterfaces.h:1259
virtual ~IPvGenApiFactory()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:2031
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvVirtualDeviceGEVInterfaces.h:1789
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvVirtualDeviceGEVInterfaces.h:630
virtual bool IsPayloadTypeSupported(PvPayloadType aPayloadType)
When called, the streaming source has to return whether the specificed payload type is supported or n...
Definition: PvVirtualDeviceGEVInterfaces.h:1280
virtual void OnCreateCustomRegisters(IPvVirtualDeviceGEV *aDevice, IPvRegisterFactory *aFactory)
Notification that the PvSoftDeviceGEV should create its custom registers, if they are needed.
Definition: PvVirtualDeviceGEVInterfaces.h:730
GenICam feature-related constants.
virtual ~IPvVirtualDeviceGEVEventSink()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:637
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:1842
virtual const PvString & GetGenICamXMLRegDescVendorName()
Returns the GenICam XML Register Description vendor name.
Definition: PvVirtualDeviceGEVInterfaces.h:283
virtual void PostRead(IPvRegister *aRegister)
Post-read register notification.
Definition: PvVirtualDeviceGEVInterfaces.h:1744
virtual const PvString & GetGenICamXMLRegDescModelName()
Returns the GenICam XML Register Description model name.
Definition: PvVirtualDeviceGEVInterfaces.h:274
virtual void OnDeviceResetFull(IPvVirtualDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has performed a full reset.
Definition: PvVirtualDeviceGEVInterfaces.h:704
virtual ~IPvStreamingChannelSource()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:810
Class used with register persistence in the context of user-sets.
Definition: PvVirtualDeviceGEVInterfaces.h:1659
@ PvGenNameSpaceCustom
Custom PvGenNamespace.
Definition: PvGenTypes.h:151
PvPixelType
Definition: PvPixelType.h:50
virtual void OnApplicationConnect(IPvVirtualDeviceGEV *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: PvVirtualDeviceGEVInterfaces.h:647
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:72
virtual void SetMultiPartAllowed(bool aAllowed)
Sets whether the streaming source is allowed or not, but not forced, to transmit multi-part data.
Definition: PvVirtualDeviceGEVInterfaces.h:1302
PvGenCache
Definition: PvGenTypes.h:176
virtual PvResult GetGevSCPSPacketSizeInfo(uint32_t &aMax) const
Get the customized max value for GevSCPSPacketSize. Used at PvSoftDeviceGEV::Start time to create the...
Definition: PvVirtualDeviceGEVInterfaces.h:1028
@ NOT_SUPPORTED
The requested feature or functionality is not supported.
Definition: PvResult.h:342
Interface that is used to report the register activity of the software-based GigE Vision Device.
Definition: PvVirtualDeviceGEVInterfaces.h:1701
virtual ~IPvMessageChannel()
Destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:544
virtual PvResult SetGenICamXMLRegDescModelName(const PvString &aModelName)
Set the GenICam XML register description model name.
Definition: PvVirtualDeviceGEVInterfaces.h:338
virtual void OnControlChannelStop(IPvVirtualDeviceGEV *aDevice)
Notification that the control channel of the PvSoftDeviceGEV has been stopped.
Definition: PvVirtualDeviceGEVInterfaces.h:695
virtual void OnApplicationDisconnect(IPvVirtualDeviceGEV *aDevice)
Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV.
Definition: PvVirtualDeviceGEVInterfaces.h:686
Interface to access basic information about a PvSoftDeviceGEV register.
Definition: PvVirtualDeviceGEVInterfaces.h:1377
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvVirtualDeviceGEVInterfaces.h:803
PvGenEndianness
Definition: PvGenTypes.h:212
@ PvGenEndiannessLittle
Litte endianness.
Definition: PvGenTypes.h:217
virtual ~IPvRegisterInfo()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:1384
PvGenVisibility
Feature (PvGenParameter object) visibility.
Definition: PvGenTypes.h:42
virtual PvResult Persist(IPvRegister *aRegister, IPvRegisterStore *aStore)
Peristence request for selected registers for user-sets.
Definition: PvVirtualDeviceGEVInterfaces.h:1817
virtual ~IPvVirtualDeviceGEVInfo()
Virtual destructor.
Definition: PvVirtualDeviceGEVInterfaces.h:79
Copyright (c) 2002-2026 Pleora Technologies Inc.
www.pleora.com