eBUS SDK v6.4.0.6670 API
7 #ifndef __PVSOFTDEVICEGEVINTERFACES_H__
8 #define __PVSOFTDEVICEGEVINTERFACES_H__
11 #define EBUS_ENUM(x) typedef enum
14 #include <PvVirtualDeviceLib.h>
28 namespace PvVirtualDeviceLib
35 PvScanTypeInvalid = -1,
85 virtual const PvString &GetManufacturerName() = 0;
94 virtual const PvString &GetModelName() = 0;
103 virtual const PvString &GetDeviceVersion() = 0;
112 virtual const PvString &GetDeviceFirmwareVersion() = 0;
121 virtual const PvString &GetManufacturerInformation() = 0;
130 virtual const PvString &GetSerialNumber() = 0;
226 virtual uint16_t GetGenICamXMLVersionMajor()
const = 0;
235 virtual uint16_t GetGenICamXMLVersionMinor()
const = 0;
244 virtual uint16_t GetGenICamXMLVersionSubMinor()
const = 0;
253 virtual const PvString &GetGenICamXMLProductGUID() = 0;
262 virtual const PvString &GetGenICamXMLVersionGUID() = 0;
278 virtual PvResult SetGenICamXMLVersion( uint16_t aMajor, uint16_t aMinor, uint16_t aSubMinor ) = 0;
328 virtual void Reset() = 0;
335 virtual uint64_t GetReadMemsReceived()
const = 0;
342 virtual uint64_t GetWriteMemsReceived()
const = 0;
349 virtual uint64_t GetReadRegsReceived()
const = 0;
356 virtual uint64_t GetWriteRegsReceived()
const = 0;
363 virtual uint64_t GetDiscoveriesReceived()
const = 0;
370 virtual uint64_t GetActionCommandsReceived()
const = 0;
377 virtual uint64_t GetForceIpsReceived()
const = 0;
384 virtual uint64_t GetPacketResendRequestsReceived()
const = 0;
391 virtual uint64_t GetPendingAcksIssued()
const = 0;
398 virtual uint64_t GetRetriesReceived()
const = 0;
405 virtual uint64_t GetRetriesReceivedMax()
const = 0;
412 virtual uint64_t GetEventsIssued()
const = 0;
419 virtual uint64_t GetEventDatasIssued()
const = 0;
426 virtual uint64_t GetEventRetriesIssued()
const = 0;
434 virtual uint64_t GetEventRetriesIssuedMax()
const = 0;
441 virtual uint64_t GetSessionsOpened()
const = 0;
448 virtual uint64_t GetSessionsClosed()
const = 0;
455 virtual uint64_t GetHeartbeatFailedCount()
const = 0;
462 virtual uint64_t GetGVSPTestPacketsIssued()
const = 0;
507 virtual PvResult FireEvent( uint16_t aEventID, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
535 virtual PvResult FireEvent( uint16_t aEventID, uint8_t *aData, uint32_t aDataLength, uint64_t aBlockID = 0, uint16_t aChannelIndex = 0xFFFF ) = 0;
546 virtual bool IsOpened() = 0;
589 PVUNREFPARAM( aDevice );
590 PVUNREFPARAM( aIPAddress );
591 PVUNREFPARAM( aPort );
592 PVUNREFPARAM( aAccessType );
609 PVUNREFPARAM( aDevice );
610 PVUNREFPARAM( aMACAddress );
611 PVUNREFPARAM( aIPAddress );
612 PVUNREFPARAM( aMask );
613 PVUNREFPARAM( aGateway );
614 PVUNREFPARAM( aPort );
754 virtual uint32_t GetWidth()
const = 0;
763 virtual uint32_t GetHeight()
const = 0;
772 virtual uint32_t GetOffsetX()
const = 0;
781 virtual uint32_t GetOffsetY()
const = 0;
802 virtual void GetWidthInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc )
const = 0;
814 virtual void GetHeightInfo( uint32_t &aMin, uint32_t &aMax, uint32_t &aInc )
const = 0;
832 virtual uint32_t GetChunksSize()
const = 0;
848 virtual uint32_t GetPayloadSize()
const = 0;
858 virtual PvScanType GetScanType()
const = 0;
868 virtual bool GetChunkModeActive()
const = 0;
884 virtual bool GetChunkEnable( uint32_t aChunkID )
const = 0;
941 virtual PvResult GetSupportedChunk(
int aIndex, uint32_t &aID,
PvString &aName )
const = 0;
960 virtual PvResult SetWidth( uint32_t aWidth ) = 0;
979 virtual PvResult SetHeight( uint32_t aHeight ) = 0;
994 virtual PvResult SetOffsetX( uint32_t aOffsetX ) = 0;
1009 virtual PvResult SetOffsetY( uint32_t aOffsetY ) = 0;
1044 virtual PvResult SetChunkModeActive(
bool aEnabled ) = 0;
1061 virtual PvResult SetChunkEnable( uint32_t aChunkID,
bool aEnabled ) = 0;
1069 virtual void OnOpen(
const PvString &aDestIP, uint16_t aDestPort ) = 0;
1074 virtual void OnClose() = 0;
1079 virtual void OnStreamingStart() = 0;
1084 virtual void OnStreamingStop() = 0;
1106 virtual PvBuffer *AllocBuffer() = 0;
1116 virtual void FreeBuffer(
PvBuffer *aBuffer ) = 0;
1181 virtual void AbortQueuedBuffers() = 0;
1201 PVUNREFPARAM( aRegisterMap );
1202 PVUNREFPARAM( aFactory );
1267 PVUNREFPARAM( aRegisterMap );
1268 PVUNREFPARAM( aFactory );
1323 PVUNREFPARAM( aEnabled );
1324 PVUNREFPARAM( aMaxMultiPartCount );
1396 virtual const PvString &GetName() = 0;
1403 virtual uint32_t GetAddress()
const = 0;
1410 virtual size_t GetLength()
const = 0;
1417 virtual const void *GetContext()
const = 0;
1424 virtual void *GetContext() = 0;
1439 virtual bool IsWritable()
const = 0;
1446 virtual bool IsReadable()
const = 0;
1453 virtual bool IsArrayOfBytes()
const = 0;
1489 virtual PvResult Read( uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1502 virtual PvResult Write(
const uint8_t *aData, uint32_t aByteCount, uint32_t aOffset = 0 ) = 0;
1517 virtual PvResult Read( uint32_t &aValue, uint32_t aOffset = 0 ) = 0;
1532 virtual PvResult Write( uint32_t aValue, uint32_t aOffset = 0 ) = 0;
1574 virtual PvResult ReadFloat(
float &aValue ) = 0;
1588 virtual PvResult WriteFloat(
float aValue ) = 0;
1602 virtual PvResult ReadDouble(
double &aValue ) = 0;
1616 virtual PvResult WriteDouble(
double aValue ) = 0;
1843 virtual PvResult AddRegister(
const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1860 virtual PvResult AddByteArray(
const PvString &aName, uint32_t aAddress, uint32_t aLength, PvGenAccessMode aAccessMode,
1893 virtual size_t GetRegisterCount() = 0;
1902 virtual IPvRegister *GetRegisterByIndex(
size_t aIndex ) = 0;
1911 virtual IPvRegister *GetRegisterByAddress( uint32_t aAddress ) = 0;
1951 virtual PvResult Lock( uint32_t aTimeout ) = 0;
1959 virtual void Release() = 0;
2008 virtual void SetName(
const PvString &aName ) = 0;
2033 virtual void SetDisplayName(
const PvString &aDisplayName ) = 0;
2049 virtual void SetCategory(
const PvString &aCategory ) = 0;
2052 virtual void SetCategory(
const PvString &aCategory,
const PvString &aCategoryDisplayName ) = 0;
2059 virtual void SetDescription(
const PvString &aDescription ) = 0;
2066 virtual void SetToolTip(
const PvString &aToolTip ) = 0;
2077 virtual void SetAccessMode( PvGenAccessMode aAccessMode ) = 0;
2103 virtual void SetCachable( PvGenCache aCache ) = 0;
2113 virtual void SetPollingTime( uint32_t aPollingTime ) = 0;
2124 virtual void SetNameSpace( PvGenNameSpace aNameSpace ) = 0;
2137 virtual void SetTLLocked(
bool aLocked ) = 0;
2147 virtual void SetStreamable(
bool aStreamable ) = 0;
2158 virtual void SetUnit(
const PvString &aUnit ) = 0;
2173 virtual void SetPValue(
const PvString &aFeatureName ) = 0;
2196 virtual void SetPIsAvailable(
const PvString &aFeatureName ) = 0;
2197 virtual void SetPIsLocked(
const PvString &aFeatureName ) = 0;
2213 virtual void MapChunk( uint32_t aChunkID, uint32_t aAddress,
size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle ) = 0;
2230 virtual void MapEvent( uint32_t aEventID, uint32_t aAddress,
size_t aLength, PvGenEndianness aEndianness = PvGenEndiannessLittle,
bool aAdjustAddress =
true ) = 0;
2256 virtual void AddSelected(
const PvString &aFeatureName ) = 0;
2266 virtual void AddInvalidator(
const PvString &aFeatureName ) = 0;
2280 virtual void AddEnumEntry(
const PvString &aName, uint32_t aValue ) = 0;
2296 virtual void AddEnumEntry(
const PvString &aName, uint32_t aValue,
const PvString &aDisplayName, PvGenNameSpace aNameSpace = PvGenNameSpaceCustom ) = 0;
2319 virtual void AddVariable(
const PvString &aFeatureName ) = 0;
2339 virtual PvResult CreateInteger(
IPvRegister *aRegister, int64_t aMin, int64_t aMax, int64_t aInc = 1 ) = 0;
2660 virtual PvResult AddInvalidatorTo(
const PvString &aStandardFeatureName,
const PvString &aInvalidatorFeatureName ) = 0;
2681 virtual PvResult SetPIsAvailableFor(
const PvString &aStandardFeatureName,
const PvString &aPIsAvailableFeatureName ) = 0;
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;
2771 virtual void SetPMin(
const PvString &aFeatureName ) = 0;
2782 virtual void SetPMax(
const PvString &aFeatureName ) = 0;
2793 virtual void SetPInc(
const PvString &aFeatureName ) = 0;
2895 virtual PvResult SetUserSetCount( uint32_t aCount ) = 0;
2925 virtual PvResult SetTCPTransportEnabled(
bool aEnabled ) = 0;
2949 virtual PvResult SetRTPProtocolEnabled(
bool aEnabled ) = 0;
2956 virtual PvResult SetActionHandler( PvVirtualDeviceLib::IActionHandler *aActionHandler ) = 0;
Result information.
Definition: PvResult.h:29
virtual ~IPvRegisterEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1706
virtual void OnDeviceResetNetwork(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has reset its network stack.
Definition: PvSoftDeviceGEVInterfaces.h:653
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1766
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1876
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 ~IPvRegisterMap()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1883
Interface that is used to customize the identity of a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:69
@ NOT_IMPLEMENTED
Definition: PvResult.h:521
virtual ~IPvSoftDeviceGEVStatistics()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:323
virtual ~IPvSoftDeviceGEVInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:76
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvSoftDeviceGEVInterfaces.h:1991
Messaging channel interface of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:477
PvAccessType
GigE Vision device access type.
Definition: PvDeviceEnums.h:53
An interface to register a state change callback for UserSets.
Definition: IPvUserSetNotify.h:45
@ NOT_SUPPORTED
Definition: PvResult.h:522
virtual ~IPvRegister()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1476
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 bool PreQueueBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1141
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
String class.
Definition: PvString.h:25
PvGenRepresentation
Definition: PvGenTypes.h:158
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
Class used for register creation.
Definition: PvSoftDeviceGEVInterfaces.h:1820
Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1468
virtual ~IPvSoftDeviceGEV()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:2809
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 PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1729
virtual void OnApplicationDisconnect(IPvSoftDeviceGEV *aDevice)
Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV.
Definition: PvSoftDeviceGEVInterfaces.h:625
virtual ~IPvSoftDeviceGEVEventSink()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:577
Interface that is used to retrieve control channel statistics from a software-based GigE Vision Devic...
Definition: PvSoftDeviceGEVInterfaces.h:316
PvDevice library enumerations.
PvPayloadType
GVSP payload type.
Definition: PvPayloadType.h:66
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 ~IPvGenApiFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1998
virtual void PostWrite(IPvRegister *aRegister)
Post-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1779
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
GenICam feature-related constants.
virtual void PostRetrieveBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1148
virtual ~IPvRegisterFactory()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1827
Interface to the main class of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:2802
virtual void OnControlChannelStop(IPvSoftDeviceGEV *aDevice)
Notification that the control channel of the PvSoftDeviceGEV has been stopped.
Definition: PvSoftDeviceGEVInterfaces.h:634
virtual void PostRead(IPvRegister *aRegister)
Post-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1738
virtual ~IPvStreamingChannelSource()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:745
Class used with register persistence in the context of user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1657
@ OK
Definition: PvResult.h:502
PvPixelType
Definition: PvPixelType.h:57
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 void OnDeviceResetFull(IPvSoftDeviceGEV *aDevice)
Notification that the PvSoftDeviceGEV has performed a full reset.
Definition: PvSoftDeviceGEVInterfaces.h:643
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
Interface that is used to report the register activity of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1699
Interface that is used by PvSoftDeviceGEV to report internal events.
Definition: PvSoftDeviceGEVInterfaces.h:570
virtual ~IPvMessageChannel()
Destructor.
Definition: PvSoftDeviceGEVInterfaces.h:484
Interface to access basic information about a PvSoftDeviceGEV register.
Definition: PvSoftDeviceGEVInterfaces.h:1375
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:95
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:738
virtual ~IPvRegisterInfo()
Virtual destructor.
Definition: PvSoftDeviceGEVInterfaces.h:1382
PvGenVisibility
Feature (PvGenParameter object) visibility.
Definition: PvGenTypes.h:60
virtual PvResult Persist(IPvRegister *aRegister, IPvRegisterStore *aStore)
Peristence request for selected registers for user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1807
Copyright (c) 2002-2024 Pleora Technologies Inc.
www.pleora.com