Base class for receiving events related to reading of Machine-Readable Zones (MRTDs)
The following events are supported by this class:
Each event may invoke callbacks in two ways:
By default, each listener object will receive event notifications from the driver for its entire lifetime; the enable() and disable() methods may be used if control is required over whether notifications are received.
The default behaviour for each event, if not overridden, on an enabled listener object is as follows:
Overrides need not call the superclass' equivalent method unless it is necessary to preserve the delegation (i.e. to support both subclassing and delegation from a single object).
Thread safety: This class is intended to be thread-safe; any classes deriving from it should ensure that the relevant methods are callable from any thread.
Public Member Functions | |
MRTD_Listener () | |
Default constructor - builds a listener object then enables receipt of events from the driver. | |
MRTD_Listener (boolean startEnabled) | |
Constructor - builds a listener object then optionally enables receipt of events from the driver. More... | |
void | dataEvent (@NonNull BER_TLV data) |
Callback which is invoked when an asynchronous MRTD read completes successfully. More... | |
final void | disable () |
Disable receipt of events from the driver by this object. More... | |
final void | enable () |
Enable receipt of events from the driver by this object. More... | |
void | errorEvent (@NonNull ErrorCode error) |
Callback which is invoked when an asynchronous MRTD read fails. More... | |
void | progressEvent (byte percentage) |
Callback which is invoked when asynchronous MRTD read progress advances. More... | |
final void | setDelegate (Delegate newDelegate) |
Set the delegate which will receive event callbacks if default listener behaviour is not overridden. More... | |
MRTD_Listener | ( | boolean | startEnabled | ) |
Constructor - builds a listener object then optionally enables receipt of events from the driver.
startEnabled | If set, the listener object is enabled immediately (equivalent of default constructor), otherwise it is disabled until the first call to enable() |
void dataEvent | ( | @NonNull BER_TLV | data | ) |
Callback which is invoked when an asynchronous MRTD read completes successfully.
This event will be triggered by the driver when an asynchronous MRTD read operation completes successfully, providing the listener object is enabled.
Override this method to receive callbacks when the object is enabled (at construction or via enable()) and the event is triggered.
data | Contents of the data read from the MRTD, in BER-TLV format |
Implements MRTD_Interface.
|
inherited |
Disable receipt of events from the driver by this object.
This has no effect if the object was already disabled.
|
inherited |
Enable receipt of events from the driver by this object.
This has no effect if the object was already enabled.
void errorEvent | ( | @NonNull ErrorCode | error | ) |
Callback which is invoked when an asynchronous MRTD read fails.
This event will be triggered by the driver when an asynchronous MRTD read operation fails, providing the listener object is enabled.
Override this method to receive callbacks when the object is enabled (at construction or via enable()) and the event is triggered.
error | Reason why the read operation failed |
Implements MRTD_Interface.
void progressEvent | ( | byte | percentage | ) |
Callback which is invoked when asynchronous MRTD read progress advances.
This event will be triggered by the driver at regular intervals during asynchronous MRTD read operations, providing the listener object is enabled.
Override this method to receive callbacks when the object is enabled (at construction or via enable()) and the event is triggered.
percentage | Current read progress percentage |
Implements MRTD_Interface.
|
inherited |
Set the delegate which will receive event callbacks if default listener behaviour is not overridden.
Delegation may alternatively be disabled by providing a null reference here.
newDelegate | If null, disables delegation; if non-null, enables delegation and sets the delegate to the supplied object. |