summaryrefslogtreecommitdiffstats
path: root/js/gdm/fingerprint.js
blob: e23a77beb39e6d746cb6e4a954e9605f843b3714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported FprintManager */

const Gio = imports.gi.Gio;

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;
}