c0861b1227
We rely on the service to detect whether a fingerprint reader is present. It is fine to not support fingerprint authentication when the service is missing, but currently we don't handle this case at all and end up with a non-functional login screen. https://bugzilla.gnome.org/show_bug.cgi?id=780063
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
|
|
|
const Gio = imports.gi.Gio;
|
|
const Lang = imports.lang;
|
|
const Shell = imports.gi.Shell;
|
|
const Signals = imports.signals;
|
|
|
|
const FprintManagerIface = '<node> \
|
|
<interface name="net.reactivated.Fprint.Manager"> \
|
|
<method name="GetDefaultDevice"> \
|
|
<arg type="o" direction="out" /> \
|
|
</method> \
|
|
</interface> \
|
|
</node>';
|
|
|
|
const FprintManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(FprintManagerIface);
|
|
|
|
function FprintManager() {
|
|
var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
|
|
g_interface_name: FprintManagerInfo.name,
|
|
g_interface_info: FprintManagerInfo,
|
|
g_name: 'net.reactivated.Fprint',
|
|
g_object_path: '/net/reactivated/Fprint/Manager',
|
|
g_flags: (Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
|
|
|
|
try {
|
|
self.init(null);
|
|
} catch(e) {
|
|
log('Failed to connect to Fprint service: ' + e.message);
|
|
return null;
|
|
}
|
|
|
|
return self;
|
|
}
|