image-device: Remove cancelling boolean from private data
The boolean is just used to emit a warning for unexpected state transitions. It is sufficient to pass it to the deactivate function directly for that purpose.
This commit is contained in:
parent
96fa0a96eb
commit
f56aacc7ef
3 changed files with 13 additions and 31 deletions
|
@ -27,7 +27,6 @@ typedef struct
|
||||||
{
|
{
|
||||||
FpiImageDeviceState state;
|
FpiImageDeviceState state;
|
||||||
gboolean active;
|
gboolean active;
|
||||||
gboolean cancelling;
|
|
||||||
|
|
||||||
gboolean finger_present;
|
gboolean finger_present;
|
||||||
|
|
||||||
|
@ -42,4 +41,5 @@ typedef struct
|
||||||
|
|
||||||
|
|
||||||
void fpi_image_device_activate (FpImageDevice *image_device);
|
void fpi_image_device_activate (FpImageDevice *image_device);
|
||||||
void fpi_image_device_deactivate (FpImageDevice *image_device);
|
void fpi_image_device_deactivate (FpImageDevice *image_device,
|
||||||
|
gboolean cancelling);
|
||||||
|
|
|
@ -82,7 +82,6 @@ static void
|
||||||
fp_image_device_cancel_action (FpDevice *device)
|
fp_image_device_cancel_action (FpDevice *device)
|
||||||
{
|
{
|
||||||
FpImageDevice *self = FP_IMAGE_DEVICE (device);
|
FpImageDevice *self = FP_IMAGE_DEVICE (device);
|
||||||
FpImageDevicePrivate *priv = fp_image_device_get_instance_private (self);
|
|
||||||
FpiDeviceAction action;
|
FpiDeviceAction action;
|
||||||
|
|
||||||
action = fpi_device_get_current_action (device);
|
action = fpi_device_get_current_action (device);
|
||||||
|
@ -93,11 +92,7 @@ fp_image_device_cancel_action (FpDevice *device)
|
||||||
action == FPI_DEVICE_ACTION_VERIFY ||
|
action == FPI_DEVICE_ACTION_VERIFY ||
|
||||||
action == FPI_DEVICE_ACTION_IDENTIFY ||
|
action == FPI_DEVICE_ACTION_IDENTIFY ||
|
||||||
action == FPI_DEVICE_ACTION_CAPTURE)
|
action == FPI_DEVICE_ACTION_CAPTURE)
|
||||||
{
|
fpi_image_device_deactivate (self, TRUE);
|
||||||
priv->cancelling = TRUE;
|
|
||||||
fpi_image_device_deactivate (self);
|
|
||||||
priv->cancelling = FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -51,17 +51,12 @@ fpi_image_device_activate (FpImageDevice *self)
|
||||||
|
|
||||||
g_assert (!priv->active);
|
g_assert (!priv->active);
|
||||||
|
|
||||||
/* We don't have a neutral ACTIVE state, but we always will
|
|
||||||
* go into WAIT_FINGER_ON afterwards. */
|
|
||||||
priv->state = FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON;
|
|
||||||
g_object_notify (G_OBJECT (self), "fpi-image-device-state");
|
|
||||||
|
|
||||||
fp_dbg ("Activating image device");
|
fp_dbg ("Activating image device");
|
||||||
cls->activate (self);
|
cls->activate (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
fpi_image_device_deactivate (FpImageDevice *self)
|
fpi_image_device_deactivate (FpImageDevice *self, gboolean cancelling)
|
||||||
{
|
{
|
||||||
FpDevice *device = FP_DEVICE (self);
|
FpDevice *device = FP_DEVICE (self);
|
||||||
FpImageDevicePrivate *priv = fp_image_device_get_instance_private (self);
|
FpImageDevicePrivate *priv = fp_image_device_get_instance_private (self);
|
||||||
|
@ -74,7 +69,7 @@ fpi_image_device_deactivate (FpImageDevice *self)
|
||||||
fp_dbg ("Already deactivated, ignoring request.");
|
fp_dbg ("Already deactivated, ignoring request.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!priv->cancelling && priv->state == FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON)
|
if (!cancelling && priv->state == FPI_IMAGE_DEVICE_STATE_AWAIT_FINGER_ON)
|
||||||
g_warning ("Deactivating image device while waiting for finger, this should not happen.");
|
g_warning ("Deactivating image device while waiting for finger, this should not happen.");
|
||||||
|
|
||||||
priv->state = FPI_IMAGE_DEVICE_STATE_INACTIVE;
|
priv->state = FPI_IMAGE_DEVICE_STATE_INACTIVE;
|
||||||
|
@ -204,7 +199,7 @@ fpi_image_device_minutiae_detected (GObject *source_object, GAsyncResult *res, g
|
||||||
if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
||||||
{
|
{
|
||||||
fp_image_device_maybe_complete_action (self, g_steal_pointer (&error));
|
fp_image_device_maybe_complete_action (self, g_steal_pointer (&error));
|
||||||
fpi_image_device_deactivate (self);
|
fpi_image_device_deactivate (self, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +231,7 @@ fpi_image_device_minutiae_detected (GObject *source_object, GAsyncResult *res, g
|
||||||
{
|
{
|
||||||
fp_image_device_maybe_complete_action (self, g_steal_pointer (&error));
|
fp_image_device_maybe_complete_action (self, g_steal_pointer (&error));
|
||||||
/* We might not yet be deactivating, if we are enrolling. */
|
/* We might not yet be deactivating, if we are enrolling. */
|
||||||
fpi_image_device_deactivate (self);
|
fpi_image_device_deactivate (self, FALSE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -260,7 +255,7 @@ fpi_image_device_minutiae_detected (GObject *source_object, GAsyncResult *res, g
|
||||||
if (priv->enroll_stage == IMG_ENROLL_STAGES)
|
if (priv->enroll_stage == IMG_ENROLL_STAGES)
|
||||||
{
|
{
|
||||||
fp_image_device_maybe_complete_action (self, g_steal_pointer (&error));
|
fp_image_device_maybe_complete_action (self, g_steal_pointer (&error));
|
||||||
fpi_image_device_deactivate (self);
|
fpi_image_device_deactivate (self, FALSE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -391,7 +386,7 @@ fpi_image_device_report_finger_status (FpImageDevice *self,
|
||||||
* detection has finished.
|
* detection has finished.
|
||||||
*/
|
*/
|
||||||
if (action != FPI_DEVICE_ACTION_ENROLL)
|
if (action != FPI_DEVICE_ACTION_ENROLL)
|
||||||
fpi_image_device_deactivate (self);
|
fpi_image_device_deactivate (self, FALSE);
|
||||||
else
|
else
|
||||||
fp_image_device_enroll_maybe_await_finger_on (self);
|
fp_image_device_enroll_maybe_await_finger_on (self);
|
||||||
}
|
}
|
||||||
|
@ -479,27 +474,21 @@ fpi_image_device_retry_scan (FpImageDevice *self, FpDeviceRetry retry)
|
||||||
{
|
{
|
||||||
fpi_device_verify_report (FP_DEVICE (self), FPI_MATCH_ERROR, NULL, error);
|
fpi_device_verify_report (FP_DEVICE (self), FPI_MATCH_ERROR, NULL, error);
|
||||||
fp_image_device_maybe_complete_action (self, NULL);
|
fp_image_device_maybe_complete_action (self, NULL);
|
||||||
priv->cancelling = TRUE;
|
fpi_image_device_deactivate (self, TRUE);
|
||||||
fpi_image_device_deactivate (self);
|
|
||||||
priv->cancelling = FALSE;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (action == FPI_DEVICE_ACTION_IDENTIFY)
|
else if (action == FPI_DEVICE_ACTION_IDENTIFY)
|
||||||
{
|
{
|
||||||
fpi_device_identify_report (FP_DEVICE (self), NULL, NULL, error);
|
fpi_device_identify_report (FP_DEVICE (self), NULL, NULL, error);
|
||||||
fp_image_device_maybe_complete_action (self, NULL);
|
fp_image_device_maybe_complete_action (self, NULL);
|
||||||
priv->cancelling = TRUE;
|
fpi_image_device_deactivate (self, TRUE);
|
||||||
fpi_image_device_deactivate (self);
|
|
||||||
priv->cancelling = FALSE;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* The capture case where there is no early reporting. */
|
/* The capture case where there is no early reporting. */
|
||||||
g_debug ("Abort current operation due to retry (no early-reporting)");
|
g_debug ("Abort current operation due to retry (no early-reporting)");
|
||||||
fp_image_device_maybe_complete_action (self, error);
|
fp_image_device_maybe_complete_action (self, error);
|
||||||
priv->cancelling = TRUE;
|
fpi_image_device_deactivate (self, TRUE);
|
||||||
fpi_image_device_deactivate (self);
|
|
||||||
priv->cancelling = FALSE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -558,10 +547,8 @@ fpi_image_device_session_error (FpImageDevice *self, GError *error)
|
||||||
if (error->domain == FP_DEVICE_RETRY)
|
if (error->domain == FP_DEVICE_RETRY)
|
||||||
g_warning ("Driver should report retries using fpi_image_device_retry_scan!");
|
g_warning ("Driver should report retries using fpi_image_device_retry_scan!");
|
||||||
|
|
||||||
priv->cancelling = TRUE;
|
|
||||||
fp_image_device_maybe_complete_action (self, error);
|
fp_image_device_maybe_complete_action (self, error);
|
||||||
fpi_image_device_deactivate (self);
|
fpi_image_device_deactivate (self, TRUE);
|
||||||
priv->cancelling = FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue