Interface that is used to report the register activity of the software-based GigE Vision Device. More...
Public Member Functions | |
virtual | ~IPvRegisterEventSink () |
Virtual destructor. | |
virtual PvResult | PreRead (IPvRegister *aRegister) |
Pre-read register notification. More... | |
virtual void | PostRead (IPvRegister *aRegister) |
Post-read register notification. More... | |
virtual PvResult | PreWrite (IPvRegister *aRegister) |
Pre-write register notification. More... | |
virtual void | PostWrite (IPvRegister *aRegister) |
Post-write register notification. More... | |
virtual PvResult | Persist (IPvRegister *aRegister, IPvRegisterStore *aStore) |
Peristence request for selected registers for user-sets. More... | |
Interface that is used to report the register activity of the software-based GigE Vision Device.
To receive register access callbacks, inherit one of your classes from IPvRegisterEventSink and pass a pointer to an object of that class to IPvRegister::AddEventSink for the register that you want to get callbacks from.
It is possible to have more than one event sink registered for callbacks to the same register. It is possible (and can be convenient) to use the same event sink for more than one register. When an event sink is used for more than one register, all IPvRegisterEventSink callbacks will have the register of interest provided as the first parameter, to provide contextual differentiation.
|
inlinevirtual |
Peristence request for selected registers for user-sets.
This interface callback is invoked when saving to or loading from registers in the context of user-sets.
Most registers can be saved to device user-sets by only setting the Streamable attribute of their attached GenApi feature when creating the GenICam XML file.
Some registers have GenApi selector(s) and thus contain more than one value. These registers need to be "walked" through all possible selector(s) values when persisted. Here the word "persisted" is used for both Save and Load use-cases.
These registers must implement this Persist method and call IPvRegisterStore::Persist for each possible selector(s) combination.
[in] | aRegister | Register to persist. |
[in] | aStore | Register store to use for persistence. |
|
inlinevirtual |
Post-read register notification.
This notification is invoked after a register read operation on the PvSoftDeviceGEV.
[in] | aRegister | Register to which the notification applies. |
|
inlinevirtual |
Post-write register notification.
This notification is invoked after a register write operation on the PvSoftDeviceGEV. It can be used to react to the value of a register being changed.
As an example, PvSoftDeviceGEV uses this notification internally to open or close the streaming channel on SCDA or SCP changes.
[in] | aRegister | Register to which the notification applies. |
|
inlinevirtual |
Pre-read register notification.
This notification is invoked before a register read operation on the PvSoftDeviceGEV. The notification handler is a good place to update the content of the register with dynamic information.
As an example, the PvSoftDeviceGEV uses this notification to update the timestamp register every time it is read.
Returning an error from this notification will cause the read operation to fail up to where it was initiated, which could be from an internal IPvRegister read operation or from a READREG_CMD or READMEM_CMD GVCP remote operation.
[in] | aRegister | Register to which the notification applies. |
|
inlinevirtual |
Pre-write register notification.
This notification is invoked before a register write operation on the PvSoftDeviceGEV. The notification handler is a good place to validate a new value before it is committed to the register.
On receiving this notification, the value of the register can be retrieved using the IPvRegister interface. On failure, the register will revert back to its original value.
Returning an error from this notification will cause the write operation to fail up to where it was initiated, which could be from an internal IPvRegister write operation or from a WRITEREG_CMD or WRITEMEM_CMD GVCP remote operation.
We recommend that you do not react to new register values in this notification handler. It is possible that other event sinks for the register could refuse the write, which will result in the operation failing and will cause the register to revert back to its original value. Use the PostWrite notification instead.
[in] | aRegister | Register to which the notification applies. |
Copyright (c) 2002-2021 Pleora Technologies Inc.
www.pleora.com