Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



IPvSoftDeviceGEV Class Referenceabstract

Interface to the main class of the software-based GigE Vision Device. More...

Public Member Functions

virtual ~IPvSoftDeviceGEV ()
 Virtual destructor.
 
virtual PvResult AddStream (IPvStreamingChannelSource *aSource)=0
 Adds a new stream to the PvSoftDeviceGEV. More...
 
virtual PvResult SetUserSetCount (uint32_t aCount)=0
 Sets the number of user-sets supported by the PvSoftDeviceGEV. More...
 
virtual PvResult RegisterEventSink (IPvSoftDeviceGEVEventSink *aEventSink)=0
 Registers an event sink to receive notifications from the PvSoftDeviceGEV. More...
 
virtual PvResult UnregisterEventSink (IPvSoftDeviceGEVEventSink *aEventSink)=0
 Unregisters a previously registered event sink. More...
 
virtual PvResult Start (const PvString &aIpAddress)=0
 Starts the PvSoftDeviceGEV. More...
 
virtual PvResult Stop ()=0
 Stops the PvSoftDeviceGEV. More...
 
virtual IPvSoftDeviceGEVInfoGetInfo ()=0
 Obtains the information interface of the PvSoftDeviceGEV. More...
 
virtual IPvRegisterMapGetRegisterMap ()=0
 Obtains the register map interface of the PvSoftDeviceGEV. More...
 
virtual IPvSoftDeviceGEVStatisticsGetStatistics ()=0
 Obtains the statistics interface of the PvSoftDeviceGEV. More...
 
virtual IPvMessageChannelGetMessagingChannel ()=0
 Obtains the messaging channel interface of the PvSoftDeviceGEV. More...
 
virtual PvResult GetGenICamXMLFile (PvString &aString) const =0
 Returns the GenICam XML file of the device. More...
 

Detailed Description

Interface to the main class of the software-based GigE Vision Device.

Member Function Documentation

◆ AddStream()

PvResult IPvSoftDeviceGEV::AddStream ( IPvStreamingChannelSource aSource)
pure virtual

Adds a new stream to the PvSoftDeviceGEV.

All streams must be added before starting the PvSoftDeviceGEV.

Parameters
[in]aSourceInterface to a user-provided source.
Returns
Includes:

Implemented in PvSoftDeviceGEV.

◆ GetGenICamXMLFile()

PvResult IPvSoftDeviceGEV::GetGenICamXMLFile ( PvString aString) const
pure virtual

Returns the GenICam XML file of the device.

Can be used to retrieve the GenICam XML file of the device after the Start method has been called. Can be used on success or failure of the Start method.

Parameters
aString[out] String where the XML file is copied.
Returns
Includes:

Implemented in PvSoftDeviceGEV.

◆ GetInfo()

IPvSoftDeviceGEVInfo * IPvSoftDeviceGEV::GetInfo ( )
pure virtual

Obtains the information interface of the PvSoftDeviceGEV.

Only available after the PvSoftDeviceGEV has been started.

IPvSoftDeviceGEVInfo is used to set the information strings in the read-only bootstrap registers of the PvSoftDeviceGEV, such as Model Name, Vendor Name, etc.

Returns
Information interface of the PvSoftDeviceGEV or NULL if the device is not running.

Implemented in PvSoftDeviceGEV.

◆ GetMessagingChannel()

IPvMessageChannel * IPvSoftDeviceGEV::GetMessagingChannel ( )
pure virtual

Obtains the messaging channel interface of the PvSoftDeviceGEV.

The IPvMessageChannel interface can be used to send events on the messaging channel when a GigE Vision controller is connected to the PvSoftDeviceGEV and has properly set up a destination for messaging channel events.

See also
IPvMessageChannel

Only available after the PvSoftDeviceGEV has been started.

Returns
Messaging channel interface of the PvSoftDeviceGEV or NULL if the device is not running.

Implemented in PvSoftDeviceGEV.

◆ GetRegisterMap()

IPvRegisterMap & IPvSoftDeviceGEV::GetRegisterMap ( )
pure virtual

Obtains the register map interface of the PvSoftDeviceGEV.

Only available after the PvSoftDeviceGEV has been started.

IPvRegisterMap can be used to directly access the register map of the PvSoftDeviceGEV. It is also possible to subscribe to register read/write events using IPvSoftDeviceGEVEventSink.

See IPvSoftDeviceGEVEventSink::OnCreateCustomRegisters for information about adding custom registers to a PvSoftDeviceGEV.

Returns
Register map interface of the PvSoftDeviceGEV or NULL if the device is not running.

Implemented in PvSoftDeviceGEV.

◆ GetStatistics()

IPvSoftDeviceGEVStatistics & IPvSoftDeviceGEV::GetStatistics ( )
pure virtual

Obtains the statistics interface of the PvSoftDeviceGEV.

Only available after the PvSoftDeviceGEV has been started.

Returns
Statistics interface of the PvSoftDeviceGEV or NULL if the device is not running.

Implemented in PvSoftDeviceGEV.

◆ RegisterEventSink()

PvResult IPvSoftDeviceGEV::RegisterEventSink ( IPvSoftDeviceGEVEventSink aEventSink)
pure virtual

Registers an event sink to receive notifications from the PvSoftDeviceGEV.

This method can be called before the PvSoftDeviceGEV is started.

See also
IPvVirtualDeviceEventSink
Parameters
[in]aEventSinkPointer to a PvSoftDeviceGEV event sink.
Returns
Includes:

Implemented in PvSoftDeviceGEV.

◆ SetUserSetCount()

PvResult IPvSoftDeviceGEV::SetUserSetCount ( uint32_t  aCount)
pure virtual

Sets the number of user-sets supported by the PvSoftDeviceGEV.

The maximum supported user-set count is 16.

Can only be changed before starting the device.

User-sets are all about device-side persistence. The status of the device can be saved or retrieved from some static store on the device. User-sets are first and foremost managed at the register level. The SFNC allowing defines the UserSetFeatureSelector which is populated with feature names. This creates an imperfect but mostly acceptable one-to-one link between Streamable (persistent) GenApi features and the register providing its implementation.

Features marked as Streamable (persistent) when creating the GenICam XML file of the device are used for device-side persistence through user-sets.

Persistent features have the content of the register they directly map to saved to the persistent store of the device. The persistent store is implemented through the Registry on Windows and profile home files on Linux. Hardware implementations could rely on Flash memory to store user-sets.

Most registers are simply persisted as-is: their binary content is simply saved to or loaded from the store.

Some registers have only one address but can contain many values when indexed through device-managed selectors. If those registers are Streamable (persistent) the application must handle the IPvRegisterEventSink::Persist event for the registers and for each possible selector combination call IPvRegisterStore::Persist. For the application the same code is used for both save and load operations, thus the generic "persist" naming.

The SoftDeviceGEV sample shows basic use of user-sets.

Implemented in PvSoftDeviceGEV.

◆ Start()

PvResult IPvSoftDeviceGEV::Start ( const PvString aMACAddress)
pure virtual

Starts the PvSoftDeviceGEV.

Both GVCP and GVSP are operated from a background thread. Even though the Start method returns, the device is running in your process until you call Stop or until the object is destroyed.

Parameters
[in]aMACAddressMAC address of the interface to bind the PvSoftDeviceGEV to.
Returns
Includes:

Implemented in PvSoftDeviceGEV.

◆ Stop()

PvResult IPvSoftDeviceGEV::Stop ( )
pure virtual

Stops the PvSoftDeviceGEV.

Returns
Includes:

Implemented in PvSoftDeviceGEV.

◆ UnregisterEventSink()

PvResult IPvSoftDeviceGEV::UnregisterEventSink ( IPvSoftDeviceGEVEventSink aEventSink)
pure virtual

Unregisters a previously registered event sink.

This method can be called before the PvSoftDeviceGEV is started and after it has been stopped.

Parameters
[in]aEventSinkPointer to a PvSoftDeviceGEV event sink.
Returns
Includes:

Implemented in PvSoftDeviceGEV.


The documentation for this class was generated from the following files:

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