diff --git a/libfprint/drivers_api.h b/libfprint/drivers_api.h index 453f34f..27bd998 100644 --- a/libfprint/drivers_api.h +++ b/libfprint/drivers_api.h @@ -30,6 +30,7 @@ #include "fprint.h" #include "fpi-log.h" +#include "fpi-dev-img.h" #include "fpi-core.h" #include "fpi-ssm.h" #include "fpi-poll.h" @@ -40,38 +41,6 @@ #include "fpi-assembling.h" #include "drivers/driver_ids.h" -enum fp_imgdev_state { - IMGDEV_STATE_INACTIVE, - IMGDEV_STATE_AWAIT_FINGER_ON, - IMGDEV_STATE_CAPTURE, - IMGDEV_STATE_AWAIT_FINGER_OFF, -}; - -enum fp_imgdev_action { - IMG_ACTION_NONE = 0, - IMG_ACTION_ENROLL, - IMG_ACTION_VERIFY, - IMG_ACTION_IDENTIFY, - IMG_ACTION_CAPTURE, -}; - -enum fp_imgdev_enroll_state { - IMG_ACQUIRE_STATE_NONE = 0, - IMG_ACQUIRE_STATE_ACTIVATING, - IMG_ACQUIRE_STATE_AWAIT_FINGER_ON, - IMG_ACQUIRE_STATE_AWAIT_IMAGE, - IMG_ACQUIRE_STATE_AWAIT_FINGER_OFF, - IMG_ACQUIRE_STATE_DONE, - IMG_ACQUIRE_STATE_DEACTIVATING, -}; - -enum fp_imgdev_enroll_state fpi_imgdev_get_action_state(struct fp_img_dev *imgdev); -enum fp_imgdev_action fpi_imgdev_get_action(struct fp_img_dev *imgdev); -int fpi_imgdev_get_action_result(struct fp_img_dev *imgdev); -void fpi_imgdev_set_action_result(struct fp_img_dev *imgdev, int action_result); -int fpi_imgdev_get_img_width(struct fp_img_dev *imgdev); -int fpi_imgdev_get_img_height(struct fp_img_dev *imgdev); - struct usb_id { uint16_t vendor; uint16_t product; @@ -126,15 +95,6 @@ struct fp_img_driver { struct fp_minutiae; /* for image drivers */ -void fpi_imgdev_open_complete(struct fp_img_dev *imgdev, int status); -void fpi_imgdev_close_complete(struct fp_img_dev *imgdev); -void fpi_imgdev_activate_complete(struct fp_img_dev *imgdev, int status); -void fpi_imgdev_deactivate_complete(struct fp_img_dev *imgdev); -void fpi_imgdev_report_finger_status(struct fp_img_dev *imgdev, - gboolean present); -void fpi_imgdev_image_captured(struct fp_img_dev *imgdev, struct fp_img *img); -void fpi_imgdev_abort_scan(struct fp_img_dev *imgdev, int result); -void fpi_imgdev_session_error(struct fp_img_dev *imgdev, int error); #endif diff --git a/libfprint/fp_internal.h b/libfprint/fp_internal.h index 8ab8711..dca072f 100644 --- a/libfprint/fp_internal.h +++ b/libfprint/fp_internal.h @@ -30,6 +30,7 @@ #include "fprint.h" #include "fpi-log.h" #include "fpi-dev.h" +#include "fpi-dev-img.h" #include "fpi-data.h" #include "fpi-img.h" #include "drivers/driver_ids.h" @@ -109,36 +110,6 @@ struct fp_dev { struct fp_print_data **identify_gallery; }; -enum fp_imgdev_state { - IMGDEV_STATE_INACTIVE, - IMGDEV_STATE_AWAIT_FINGER_ON, - IMGDEV_STATE_CAPTURE, - IMGDEV_STATE_AWAIT_FINGER_OFF, -}; - -enum fp_imgdev_action { - IMG_ACTION_NONE = 0, - IMG_ACTION_ENROLL, - IMG_ACTION_VERIFY, - IMG_ACTION_IDENTIFY, - IMG_ACTION_CAPTURE, -}; - -enum fp_imgdev_enroll_state { - IMG_ACQUIRE_STATE_NONE = 0, - IMG_ACQUIRE_STATE_ACTIVATING, - IMG_ACQUIRE_STATE_AWAIT_FINGER_ON, - IMG_ACQUIRE_STATE_AWAIT_IMAGE, - IMG_ACQUIRE_STATE_AWAIT_FINGER_OFF, - IMG_ACQUIRE_STATE_DONE, - IMG_ACQUIRE_STATE_DEACTIVATING, -}; - -enum fp_imgdev_verify_state { - IMG_VERIFY_STATE_NONE = 0, - IMG_VERIFY_STATE_ACTIVATING -}; - struct fp_img_dev { struct fp_dev *parent; diff --git a/libfprint/imgdev.c b/libfprint/fpi-dev-img.c similarity index 99% rename from libfprint/imgdev.c rename to libfprint/fpi-dev-img.c index ac5de83..a61e13c 100644 --- a/libfprint/imgdev.c +++ b/libfprint/fpi-dev-img.c @@ -21,8 +21,9 @@ #include -#include "fp_internal.h" +#include "fpi-dev-img.h" #include "fpi-async.h" +#include "fp_internal.h" #define MIN_ACCEPTABLE_MINUTIAE 10 #define BOZORTH3_DEFAULT_THRESHOLD 40 diff --git a/libfprint/fpi-dev-img.h b/libfprint/fpi-dev-img.h new file mode 100644 index 0000000..15d68e8 --- /dev/null +++ b/libfprint/fpi-dev-img.h @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2007-2008 Daniel Drake + * Copyright (C) 2018 Bastien Nocera + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __FPI_DEV_IMG_H__ +#define __FPI_DEV_IMG_H__ + +#include "fpi-dev.h" +#include "fpi-img.h" + +enum fp_imgdev_action { + IMG_ACTION_NONE = 0, + IMG_ACTION_ENROLL, + IMG_ACTION_VERIFY, + IMG_ACTION_IDENTIFY, + IMG_ACTION_CAPTURE, +}; + +enum fp_imgdev_state { + IMGDEV_STATE_INACTIVE, + IMGDEV_STATE_AWAIT_FINGER_ON, + IMGDEV_STATE_CAPTURE, + IMGDEV_STATE_AWAIT_FINGER_OFF, +}; + +enum fp_imgdev_enroll_state { + IMG_ACQUIRE_STATE_NONE = 0, + IMG_ACQUIRE_STATE_ACTIVATING, + IMG_ACQUIRE_STATE_AWAIT_FINGER_ON, + IMG_ACQUIRE_STATE_AWAIT_IMAGE, + IMG_ACQUIRE_STATE_AWAIT_FINGER_OFF, + IMG_ACQUIRE_STATE_DONE, + IMG_ACQUIRE_STATE_DEACTIVATING, +}; + +enum fp_imgdev_verify_state { + IMG_VERIFY_STATE_NONE = 0, + IMG_VERIFY_STATE_ACTIVATING +}; + +void fpi_imgdev_open_complete(struct fp_img_dev *imgdev, int status); +void fpi_imgdev_close_complete(struct fp_img_dev *imgdev); +void fpi_imgdev_activate_complete(struct fp_img_dev *imgdev, int status); +void fpi_imgdev_deactivate_complete(struct fp_img_dev *imgdev); +void fpi_imgdev_report_finger_status(struct fp_img_dev *imgdev, + gboolean present); +void fpi_imgdev_image_captured(struct fp_img_dev *imgdev, struct fp_img *img); +void fpi_imgdev_abort_scan(struct fp_img_dev *imgdev, int result); +void fpi_imgdev_session_error(struct fp_img_dev *imgdev, int error); + +enum fp_imgdev_enroll_state fpi_imgdev_get_action_state(struct fp_img_dev *imgdev); +enum fp_imgdev_action fpi_imgdev_get_action(struct fp_img_dev *imgdev); +int fpi_imgdev_get_action_result(struct fp_img_dev *imgdev); +void fpi_imgdev_set_action_result(struct fp_img_dev *imgdev, int action_result); + +#endif diff --git a/libfprint/meson.build b/libfprint/meson.build index 260ca6b..ce761ba 100644 --- a/libfprint/meson.build +++ b/libfprint/meson.build @@ -11,6 +11,8 @@ libfprint_sources = [ 'fpi-data.h', 'fpi-dev.c', 'fpi-dev.h', + 'fpi-dev-img.c', + 'fpi-dev-img.h', 'fpi-img.c', 'fpi-img.h', 'fpi-log.h', @@ -21,7 +23,6 @@ libfprint_sources = [ 'fpi-poll.c', 'fpi-usb.h', 'fpi-usb.c', - 'imgdev.c', 'drivers/driver_ids.h', ]