diff --git a/src/manager.c b/src/manager.c
index 195a5ff..5c8a3b6 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -29,7 +29,8 @@
static gboolean fprint_manager_get_devices(FprintManager *manager,
GPtrArray **devices, GError **error);
-
+static gboolean fprint_manager_get_default_device(FprintManager *manager,
+ const char **device, GError **error);
#include "manager-dbus-glue.h"
static GObjectClass *parent_class = NULL;
@@ -176,3 +177,18 @@ static gboolean fprint_manager_get_devices(FprintManager *manager,
return TRUE;
}
+static gboolean fprint_manager_get_default_device(FprintManager *manager,
+ const char **device, GError **error)
+{
+ FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager);
+ GSList *elem = priv->dev_registry;
+ int num_open = g_slist_length(elem);
+
+ if (num_open > 0) {
+ *device = get_device_path (elem->data);
+ return TRUE;
+ } else {
+ *device = NULL;
+ return FALSE;
+ }
+}
diff --git a/src/manager.xml b/src/manager.xml
index 7d33003..d8f8383 100644
--- a/src/manager.xml
+++ b/src/manager.xml
@@ -8,6 +8,10 @@
+
+
+
+