From fb5527c58c5c0ea681b8c8be2bdca4a9c315c623 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Fri, 28 Sep 2018 13:09:53 +0200
Subject: [PATCH] lib: Split off imgdev functions

They now live in fpi-dev-img.[ch]
---
 libfprint/drivers_api.h               | 42 +---------------
 libfprint/fp_internal.h               | 31 +-----------
 libfprint/{imgdev.c => fpi-dev-img.c} |  3 +-
 libfprint/fpi-dev-img.h               | 71 +++++++++++++++++++++++++++
 libfprint/meson.build                 |  3 +-
 5 files changed, 77 insertions(+), 73 deletions(-)
 rename libfprint/{imgdev.c => fpi-dev-img.c} (99%)
 create mode 100644 libfprint/fpi-dev-img.h

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 <glib.h>
 
-#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 <dsd@gentoo.org>
+ * Copyright (C) 2018 Bastien Nocera <hadess@hadess.net>
+ *
+ * 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',
 ]