Loading fingerprint/FingerprintWrapper.cpp +33 −1 Original line number Diff line number Diff line Loading @@ -99,6 +99,34 @@ static int cancel(struct fingerprint_device *dev) return device->vendor.device->cancel(device->vendor.device); } #define MAX_FINGERPRINTS 100 typedef int (*enumerate_2_0)(struct fingerprint_device *dev, fingerprint_finger_id_t *results, uint32_t *max_size); static int enumerate_pre_2_1(struct fingerprint_device *dev) { device_t *device = (device_t *) dev; fingerprint_finger_id_t results[MAX_FINGERPRINTS]; uint32_t n = MAX_FINGERPRINTS; enumerate_2_0 enumerate = (enumerate_2_0) device->vendor.device->enumerate; int rv = enumerate(device->vendor.device, results, &n); if (rv == 0) { uint32_t i; fingerprint_msg_t msg; msg.type = FINGERPRINT_TEMPLATE_ENUMERATING; for (i = 0; i < n; i++) { msg.data.enumerated.finger = results[i]; msg.data.enumerated.remaining_templates = n - i - 1; device->base.notify(&msg); } } return rv; } static int enumerate(struct fingerprint_device *dev) { device_t *device = (device_t *) dev; Loading Loading @@ -168,7 +196,11 @@ static int device_open(const hw_module_t *module, const char *name, hw_device_t device->base.post_enroll = post_enroll; device->base.get_authenticator_id = get_authenticator_id; device->base.cancel = cancel; if (vendor.module->common.module_api_version >= FINGERPRINT_MODULE_API_VERSION_2_1) { device->base.enumerate = enumerate; } else { device->base.enumerate = enumerate_pre_2_1; } device->base.remove = remove; device->base.set_active_group = set_active_group; device->base.authenticate = authenticate; Loading Loading
fingerprint/FingerprintWrapper.cpp +33 −1 Original line number Diff line number Diff line Loading @@ -99,6 +99,34 @@ static int cancel(struct fingerprint_device *dev) return device->vendor.device->cancel(device->vendor.device); } #define MAX_FINGERPRINTS 100 typedef int (*enumerate_2_0)(struct fingerprint_device *dev, fingerprint_finger_id_t *results, uint32_t *max_size); static int enumerate_pre_2_1(struct fingerprint_device *dev) { device_t *device = (device_t *) dev; fingerprint_finger_id_t results[MAX_FINGERPRINTS]; uint32_t n = MAX_FINGERPRINTS; enumerate_2_0 enumerate = (enumerate_2_0) device->vendor.device->enumerate; int rv = enumerate(device->vendor.device, results, &n); if (rv == 0) { uint32_t i; fingerprint_msg_t msg; msg.type = FINGERPRINT_TEMPLATE_ENUMERATING; for (i = 0; i < n; i++) { msg.data.enumerated.finger = results[i]; msg.data.enumerated.remaining_templates = n - i - 1; device->base.notify(&msg); } } return rv; } static int enumerate(struct fingerprint_device *dev) { device_t *device = (device_t *) dev; Loading Loading @@ -168,7 +196,11 @@ static int device_open(const hw_module_t *module, const char *name, hw_device_t device->base.post_enroll = post_enroll; device->base.get_authenticator_id = get_authenticator_id; device->base.cancel = cancel; if (vendor.module->common.module_api_version >= FINGERPRINT_MODULE_API_VERSION_2_1) { device->base.enumerate = enumerate; } else { device->base.enumerate = enumerate_pre_2_1; } device->base.remove = remove; device->base.set_active_group = set_active_group; device->base.authenticate = authenticate; Loading