Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



IPvSoftDeviceGEVEventSink Class Reference

Interface that is used by PvSoftDeviceGEV to report internal events. More...

Public Member Functions

virtual ~IPvSoftDeviceGEVEventSink ()
 Virtual destructor.
 
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 PvSoftDeviceGEV. More...
 
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. More...
 
virtual void OnApplicationDisconnect (IPvSoftDeviceGEV *aDevice)
 Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV. More...
 
virtual void OnControlChannelStop (IPvSoftDeviceGEV *aDevice)
 Notification that the control channel of the PvSoftDeviceGEV has been stopped. More...
 
virtual void OnDeviceResetFull (IPvSoftDeviceGEV *aDevice)
 Notification that the PvSoftDeviceGEV has performed a full reset. More...
 
virtual void OnDeviceResetNetwork (IPvSoftDeviceGEV *aDevice)
 Notification that the PvSoftDeviceGEV has reset its network stack. More...
 
virtual void OnCreateCustomRegisters (IPvSoftDeviceGEV *aDevice, IPvRegisterFactory *aFactory)
 Notification that the PvSoftDeviceGEV should create its custom registers, if they are needed. More...
 
virtual void OnCreateCustomGenApiFeatures (IPvSoftDeviceGEV *aDevice, IPvGenApiFactory *aFactory)
 Notification that the PvSoftDeviceGEV should create its custom GenApi parameters, if they are needed. More...
 

Detailed Description

Interface that is used by PvSoftDeviceGEV to report internal events.

To receive these events, inherit one of your classes from IPvSoftDeviceGEVEventSink, instantiate an object from your class, and pass a pointer to this event sink to PvSoftDeviceGEV::RegisterEventSink.

When the events occur, the corresponding method in your class will be invoked. The events are usually invoked from a different thread, other than the main application thread.

It is possible to use this callback interface to create device-scope and GenApi parameters. See IPvSoftDeviceGEVEventSink::OnCreateCustomGenApiFeatures and IPvSoftDeviceGEVEventSink::OnCreateCustomRegisters for more information. You should create streaming channel source GenApi feature and registers for source-specific features like deinterlacing, gain, exposure time. Look at IPvStreamingChannelSource::CreateRegisters and IPvStreamingChannelSource::CreateGenApiFeatures to create streaming channel source scope features. Note that chunks and messaging channel GenApi parameters should always be created from IPvSoftDeviceGEVEventSink and be at the device-scope.

Member Function Documentation

◆ OnApplicationConnect()

void IPvSoftDeviceGEVEventSink::OnApplicationConnect ( IPvSoftDeviceGEV aDevice,
const PvString aIPAddress,
uint16_t  aPort,
PvAccessType  aAccessType 
)
inlinevirtual

Notification that a GigE Vision controller has taken ownership of the control channel of your PvSoftDeviceGEV.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.
[in]aIPAddressIP address of the GigE Vision controller in string format, such as "192.168.138.115".
[in]aPortUDP port of the GigE Vision controller.
[in]aAccessTypeAccess type secured by the GigE Vision controller.

◆ OnApplicationDisconnect()

void IPvSoftDeviceGEVEventSink::OnApplicationDisconnect ( IPvSoftDeviceGEV aDevice)
inlinevirtual

Notification that the GigE Vision controller has released the control channel of the PvSoftDeviceGEV.

The notification can be triggered if the control channel has been released by the PvSoftDeviceGEV on a heartbeat refresh failure.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.

◆ OnControlChannelStart()

void IPvSoftDeviceGEVEventSink::OnControlChannelStart ( IPvSoftDeviceGEV aDevice,
const PvString aMACAddress,
const PvString aIPAddress,
const PvString aMask,
const PvString aGateway,
uint16_t  aPort 
)
inlinevirtual

Notification that the control channel of the PvSoftDeviceGEV has been started.

The control channel is the GVCP command server of the PvSoftDeviceGEV.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.
[in]aMACAddressMAC address of the local network interface.
[in]aIPAddressIP address that the control channel is bound to.
[in]aMaskSubnet mask of the IP address that the control channel is bound to.
[in]aGatewayDefault gateway of the network interface that is used by the control channel.
[in]aPortUDP port that the control channel is listening to. Hardcode this value to GigE Vision standard 3956.

◆ OnControlChannelStop()

void IPvSoftDeviceGEVEventSink::OnControlChannelStop ( IPvSoftDeviceGEV aDevice)
inlinevirtual

Notification that the control channel of the PvSoftDeviceGEV has been stopped.

The control channel is the GVCP command server of the PvSoftDeviceGEV.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.

◆ OnCreateCustomGenApiFeatures()

void IPvSoftDeviceGEVEventSink::OnCreateCustomGenApiFeatures ( IPvSoftDeviceGEV aDevice,
IPvGenApiFactory aFactory 
)
inlinevirtual

Notification that the PvSoftDeviceGEV should create its custom GenApi parameters, if they are needed.

GenApi feature creation must happen at a specific point in the PvSoftDeviceGEV initialization. To create custom GenApi features in your application, implement the IPvSoftDeviceGEVEventSink interface, register an object of this class to PvSoftDeviceGEV::RegisterEventSink, and perform custom GenApi feature creation in the IPvSoftDeviceGEVEventSink::OnCreateCustomGenApiFeatures notification.

Custom GenApi feature creation occurs AFTER the creation of custom registers, inside the PvSoftDeviceGEV::Start call.

Parameters
[in]aDevicePvSoftDeviceGEV object that is sending the notification.
[in]aFactoryGenApi factory that is used to create the new GenApi features.

◆ OnCreateCustomRegisters()

void IPvSoftDeviceGEVEventSink::OnCreateCustomRegisters ( IPvSoftDeviceGEV aDevice,
IPvRegisterFactory aFactory 
)
inlinevirtual

Notification that the PvSoftDeviceGEV should create its custom registers, if they are needed.

Register creation must happen at a specific point in the PvSoftDeviceGEV initialization. To create custom registers in your application, implement the IPvSoftDeviceGEVEventSink interface, register an object of this class to PvSoftDeviceGEV::RegisterEventSink, and perform custom register creation in the IPvSoftDeviceGEVEventSink::OnCreateCustomRegisters notification.

Custom register creation occurs BEFORE the creation of custom GenApi features, inside the PvSoftDeviceGEV::Start call.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.
[in]aFactoryRegister factory that is used to create the new registers.

◆ OnDeviceResetFull()

void IPvSoftDeviceGEVEventSink::OnDeviceResetFull ( IPvSoftDeviceGEV aDevice)
inlinevirtual

Notification that the PvSoftDeviceGEV has performed a full reset.

A full reset is the equivalent of a power cycle.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.

◆ OnDeviceResetNetwork()

void IPvSoftDeviceGEVEventSink::OnDeviceResetNetwork ( IPvSoftDeviceGEV aDevice)
inlinevirtual

Notification that the PvSoftDeviceGEV has reset its network stack.

A PvSoftDeviceGEV network reset usually happens after it has received a FORCEIP_CMD command.

Parameters
[in]aDevicePointer to the PvSoftDeviceGEV object that is sending the notification.

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

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