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:
@@ -220,7 +220,7 @@ class VirtualImage(unittest.TestCase):
|
||||
|
||||
self._verify_match = None
|
||||
self._verify_fp = None
|
||||
self.dev.verify(fp_whorl, None, verify_cb)
|
||||
self.dev.verify(fp_whorl, callback=verify_cb)
|
||||
self.send_image('whorl')
|
||||
while self._verify_match is None:
|
||||
ctx.iteration(True)
|
||||
@@ -228,7 +228,7 @@ class VirtualImage(unittest.TestCase):
|
||||
|
||||
self._verify_match = None
|
||||
self._verify_fp = None
|
||||
self.dev.verify(fp_whorl, None, verify_cb)
|
||||
self.dev.verify(fp_whorl, callback=verify_cb)
|
||||
self.send_image('tented_arch')
|
||||
while self._verify_match is None:
|
||||
ctx.iteration(True)
|
||||
@@ -250,14 +250,14 @@ class VirtualImage(unittest.TestCase):
|
||||
self._identify_match, self._identify_fp = self.dev.identify_finish(res)
|
||||
|
||||
self._identify_fp = None
|
||||
self.dev.identify([fp_whorl, fp_tented_arch], None, identify_cb)
|
||||
self.dev.identify([fp_whorl, fp_tented_arch], callback=identify_cb)
|
||||
self.send_image('tented_arch')
|
||||
while self._identify_fp is None:
|
||||
ctx.iteration(True)
|
||||
assert(self._identify_match is fp_tented_arch)
|
||||
|
||||
self._identify_fp = None
|
||||
self.dev.identify([fp_whorl, fp_tented_arch], None, identify_cb)
|
||||
self.dev.identify([fp_whorl, fp_tented_arch], callback=identify_cb)
|
||||
self.send_image('whorl')
|
||||
while self._identify_fp is None:
|
||||
ctx.iteration(True)
|
||||
@@ -290,7 +290,7 @@ class VirtualImage(unittest.TestCase):
|
||||
|
||||
self._verify_match = None
|
||||
self._verify_fp = None
|
||||
self.dev.verify(fp_whorl_new, None, verify_cb)
|
||||
self.dev.verify(fp_whorl_new, callback=verify_cb)
|
||||
self.send_image('whorl')
|
||||
while self._verify_match is None:
|
||||
ctx.iteration(True)
|
||||
@@ -298,7 +298,7 @@ class VirtualImage(unittest.TestCase):
|
||||
|
||||
self._verify_match = None
|
||||
self._verify_fp = None
|
||||
self.dev.verify(fp_whorl_new, None, verify_cb)
|
||||
self.dev.verify(fp_whorl_new, callback=verify_cb)
|
||||
self.send_image('tented_arch')
|
||||
while self._verify_match is None:
|
||||
ctx.iteration(True)
|
||||
|
||||
Reference in New Issue
Block a user