mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
tests: Support -f 'finger' option for enroll
Add support for -f 'finger' option to fprintd-enroll. Update docs accordingly. https://bugs.freedesktop.org/show_bug.cgi?id=62644
This commit is contained in:
committed by
Bastien Nocera
parent
b4f5304565
commit
7eb1f0fd86
@ -4,7 +4,7 @@ fprintd - Fingerprint management daemon, and test applications
|
|||||||
|
|
||||||
=head1 SYNOPSYS
|
=head1 SYNOPSYS
|
||||||
|
|
||||||
B<fprintd-enroll> [username]
|
B<fprintd-enroll> [-f finger] [usename]
|
||||||
|
|
||||||
B<fprintd-list> username [usernames...]
|
B<fprintd-list> username [usernames...]
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
#include <dbus/dbus-glib-bindings.h>
|
#include <dbus/dbus-glib-bindings.h>
|
||||||
#include "manager-dbus-glue.h"
|
#include "manager-dbus-glue.h"
|
||||||
#include "device-dbus-glue.h"
|
#include "device-dbus-glue.h"
|
||||||
@ -25,6 +26,8 @@
|
|||||||
|
|
||||||
static DBusGProxy *manager = NULL;
|
static DBusGProxy *manager = NULL;
|
||||||
static DBusGConnection *connection = NULL;
|
static DBusGConnection *connection = NULL;
|
||||||
|
static char *finger_name = "right-index-finger";
|
||||||
|
static char **usernames = NULL;
|
||||||
|
|
||||||
static void create_manager(void)
|
static void create_manager(void)
|
||||||
{
|
{
|
||||||
@ -89,8 +92,8 @@ static void do_enroll(DBusGProxy *dev)
|
|||||||
dbus_g_proxy_connect_signal(dev, "EnrollStatus", G_CALLBACK(enroll_result),
|
dbus_g_proxy_connect_signal(dev, "EnrollStatus", G_CALLBACK(enroll_result),
|
||||||
&enroll_completed, NULL);
|
&enroll_completed, NULL);
|
||||||
|
|
||||||
g_print("Enrolling right index finger.\n");
|
g_print("Enrolling %s finger.\n", finger_name);
|
||||||
if (!net_reactivated_Fprint_Device_enroll_start(dev, "right-index-finger", &error)) {
|
if (!net_reactivated_Fprint_Device_enroll_start(dev, finger_name, &error)) {
|
||||||
g_print("EnrollStart failed: %s\n", error->message);
|
g_print("EnrollStart failed: %s\n", error->message);
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
@ -116,22 +119,35 @@ static void release_device(DBusGProxy *dev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const GOptionEntry entries[] = {
|
||||||
|
{ "finger", 'f', 0, G_OPTION_ARG_STRING, &finger_name, "Finger selected to verify (default is automatic)", NULL },
|
||||||
|
{ G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &usernames, NULL, "[username]" },
|
||||||
|
{ NULL }
|
||||||
|
};
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
GOptionContext *context;
|
||||||
|
GError *err = NULL;
|
||||||
DBusGProxy *dev;
|
DBusGProxy *dev;
|
||||||
char *username;
|
|
||||||
|
|
||||||
g_type_init();
|
g_type_init();
|
||||||
|
|
||||||
dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN,
|
dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN,
|
||||||
G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID);
|
G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID);
|
||||||
|
|
||||||
|
context = g_option_context_new ("Enroll a fingerprint");
|
||||||
|
g_option_context_add_main_entries (context, entries, NULL);
|
||||||
|
|
||||||
|
if (g_option_context_parse (context, &argc, &argv, &err) == FALSE) {
|
||||||
|
g_print ("couldn't parse command-line options: %s\n", err->message);
|
||||||
|
g_error_free (err);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
create_manager();
|
create_manager();
|
||||||
|
|
||||||
username = NULL;
|
dev = open_device(usernames ? usernames[0] : NULL);
|
||||||
if (argc == 2)
|
|
||||||
username = argv[1];
|
|
||||||
dev = open_device(username);
|
|
||||||
do_enroll(dev);
|
do_enroll(dev);
|
||||||
release_device(dev);
|
release_device(dev);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user