mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
Introduce an early reporting mechanism for verify and match
It is a good idea to report match results early, to e.g. log in a user
immediately even if more device interaction is needed. Add new _full
variants for the verify/identify functions, with a corresponding
callback. Also move driver result reporting into new
fpi_device_{identify,verify}_report functions and remove the reporting
from the fpi_device_{identify,verify}_complete calls.
Basic updates to code is done in places. Only the upekts driver is
actually modified from a behaviour point of view. The image driver code
should be restructured quite a bit to split the reporting and only
report completion after device deactivation. This should simplifiy the
code quite a bit again.
This commit is contained in:
@@ -95,8 +95,16 @@ fpi_device_fake_verify (FpDevice *device)
|
||||
fpi_device_get_verify_data (device, &print);
|
||||
|
||||
fake_dev->last_called_function = fpi_device_fake_verify;
|
||||
fpi_device_verify_complete (device, fake_dev->ret_result, print,
|
||||
fake_dev->ret_error);
|
||||
|
||||
if (!fake_dev->ret_error || fake_dev->ret_error->domain == FP_DEVICE_RETRY)
|
||||
{
|
||||
fpi_device_verify_report (device, fake_dev->ret_result, print, fake_dev->ret_error);
|
||||
fpi_device_verify_complete (device, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
fpi_device_verify_complete (device, fake_dev->ret_error);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -128,8 +136,15 @@ fpi_device_fake_identify (FpDevice *device)
|
||||
}
|
||||
|
||||
fake_dev->last_called_function = fpi_device_fake_identify;
|
||||
fpi_device_identify_complete (device, match, fake_dev->ret_print,
|
||||
fake_dev->ret_error);
|
||||
if (!fake_dev->ret_error || fake_dev->ret_error->domain == FP_DEVICE_RETRY)
|
||||
{
|
||||
fpi_device_identify_report (device, match, fake_dev->ret_print, fake_dev->ret_error);
|
||||
fpi_device_identify_complete (device, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
fpi_device_identify_complete (device, fake_dev->ret_error);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user