diff options
-rw-r--r-- | include/hardware/fingerprint.h | 13 | ||||
-rw-r--r-- | modules/fingerprint/fingerprint.c | 11 | ||||
-rw-r--r-- | tests/fingerprint/fingerprint_tests.cpp | 5 |
3 files changed, 26 insertions, 3 deletions
diff --git a/include/hardware/fingerprint.h b/include/hardware/fingerprint.h index 68687b2..552b5d7 100644 --- a/include/hardware/fingerprint.h +++ b/include/hardware/fingerprint.h @@ -157,6 +157,16 @@ typedef struct fingerprint_device { uint64_t (*pre_enroll)(struct fingerprint_device *dev); /* + * get_authenticator_id: + * Returns a token associated with the current fingerprint set. This value will + * change whenever a new fingerprint is enrolled, thus creating a new fingerprint + * set. + * + * Function return: current authenticator id. + */ + uint64_t (*get_authenticator_id)(struct fingerprint_device *dev); + + /* * Cancel pending enroll or authenticate, sending FINGERPRINT_ERROR_CANCELED * to all running clients. Switches the HAL state machine back to the idle state. * will indicate switch back to the scan mode. @@ -214,9 +224,6 @@ typedef struct fingerprint_device { * Do not set by hand, use the function above instead. */ fingerprint_notify_t notify; - - /* Reserved for future use. Must be NULL. */ - void* reserved[8 - 4]; } fingerprint_device_t; typedef struct fingerprint_module { diff --git a/modules/fingerprint/fingerprint.c b/modules/fingerprint/fingerprint.c index ac7e35b..33ede62 100644 --- a/modules/fingerprint/fingerprint.c +++ b/modules/fingerprint/fingerprint.c @@ -32,6 +32,11 @@ static int fingerprint_close(hw_device_t *dev) } } + +static uint64_t fingerprint_pre_enroll(struct fingerprint_device __unused *dev) { + return FINGERPRINT_ERROR; +} + static int fingerprint_enroll(struct fingerprint_device __unused *dev, const hw_auth_token_t __unused *hat, uint32_t __unused gid, @@ -39,6 +44,10 @@ static int fingerprint_enroll(struct fingerprint_device __unused *dev, return FINGERPRINT_ERROR; } +static uint64_t fingerprint_get_auth_id(struct fingerprint_device __unused *dev) { + return FINGERPRINT_ERROR; +} + static int fingerprint_cancel(struct fingerprint_device __unused *dev) { return FINGERPRINT_ERROR; } @@ -81,7 +90,9 @@ static int fingerprint_open(const hw_module_t* module, const char __unused *id, dev->common.module = (struct hw_module_t*) module; dev->common.close = fingerprint_close; + dev->pre_enroll = fingerprint_pre_enroll; dev->enroll = fingerprint_enroll; + dev->get_authenticator_id = fingerprint_get_auth_id; dev->cancel = fingerprint_cancel; dev->remove = fingerprint_remove; dev->set_active_group = fingerprint_set_active_group; diff --git a/tests/fingerprint/fingerprint_tests.cpp b/tests/fingerprint/fingerprint_tests.cpp index db7429c..dbb248f 100644 --- a/tests/fingerprint/fingerprint_tests.cpp +++ b/tests/fingerprint/fingerprint_tests.cpp @@ -29,6 +29,11 @@ TEST_F(FingerprintDevice, isTherePreEnroll) { << "pre_enroll() function is not implemented"; } +TEST_F(FingerprintDevice, isThereGetAuthenticatorId) { + ASSERT_TRUE(NULL != fp_device()->get_authenticator_id) + << "get_authenticator_id() function is not implemented"; +} + TEST_F(FingerprintDevice, isThereCancel) { ASSERT_TRUE(NULL != fp_device()->cancel) << "cancel() function is not implemented"; |