From af42db88bf97d452f68aeb931a13eb3873a2a093 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 29 Oct 2008 15:47:36 +0000 Subject: [PATCH] Add DeleteEnrolledFingers To delete all the enrolled finger prints for a particular user. We can already overwrite existing enrolled fingerprints, and there's not really any point in dismissing just one fingerprint. --- src/device.c | 26 ++++++++++++++++++++++++++ src/device.xml | 4 ++++ 2 files changed, 30 insertions(+) diff --git a/src/device.c b/src/device.c index 198c2b5..bc6717a 100644 --- a/src/device.c +++ b/src/device.c @@ -53,6 +53,8 @@ static gboolean fprint_device_set_storage_type(FprintDevice *rdev, gint type); static void fprint_device_list_enrolled_fingers(FprintDevice *rdev, DBusGMethodInvocation *context); +static void fprint_device_delete_enrolled_fingers(FprintDevice *rdev, + DBusGMethodInvocation *context); #include "device-dbus-glue.h" @@ -700,3 +702,27 @@ static void fprint_device_list_enrolled_fingers(FprintDevice *rdev, dbus_g_method_return(context, ret); } +static void fprint_device_delete_enrolled_fingers(FprintDevice *rdev, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + guint i; + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.verify", &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + for (i = LEFT_THUMB; i <= RIGHT_LITTLE; i++) { + storages[priv->storage_type].print_data_delete(priv->dev, i, priv->username); + } + + dbus_g_method_return(context); +} + diff --git a/src/device.xml b/src/device.xml index 887065d..e87d680 100644 --- a/src/device.xml +++ b/src/device.xml @@ -17,6 +17,10 @@ + + + +