fingerprint: Use makeProxyWrapper for fprintManager
The reason this wasn't using the Gio.DBus.makeProxyWrapper() convenience API is that it passes custom flags to the proxy, and that wasn't supported by the wrapper at the time. As this is now possible, this commit migrates us to the new API. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1572>
This commit is contained in:
parent
f19c75d9c3
commit
824cdc9177
18
data/dbus-interfaces/net.reactivated.Fprint.Manager.xml
Normal file
18
data/dbus-interfaces/net.reactivated.Fprint.Manager.xml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<!DOCTYPE node PUBLIC
|
||||||
|
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||||
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||||
|
<node>
|
||||||
|
<interface name="net.reactivated.Fprint.Manager">
|
||||||
|
|
||||||
|
<method name="GetDevices">
|
||||||
|
<arg type="ao" name="devices" direction="out">
|
||||||
|
</arg>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<method name="GetDefaultDevice">
|
||||||
|
<arg type="o" name="device" direction="out">
|
||||||
|
</arg>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
</interface>
|
||||||
|
</node>
|
@ -2,6 +2,7 @@
|
|||||||
<gresources>
|
<gresources>
|
||||||
<gresource prefix="/org/gnome/shell/dbus-interfaces">
|
<gresource prefix="/org/gnome/shell/dbus-interfaces">
|
||||||
<file preprocess="xml-stripblanks">net.hadess.SensorProxy.xml</file>
|
<file preprocess="xml-stripblanks">net.hadess.SensorProxy.xml</file>
|
||||||
|
<file preprocess="xml-stripblanks">net.reactivated.Fprint.Manager.xml</file>
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.Application.xml</file>
|
<file preprocess="xml-stripblanks">org.freedesktop.Application.xml</file>
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file>
|
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file>
|
||||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file>
|
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file>
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
// -*- 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;
|
|
||||||
}
|
|
@ -6,13 +6,16 @@ const { Clutter, Gdm, Gio, GLib } = imports.gi;
|
|||||||
const Signals = imports.signals;
|
const Signals = imports.signals;
|
||||||
|
|
||||||
const Batch = imports.gdm.batch;
|
const Batch = imports.gdm.batch;
|
||||||
const Fprint = imports.gdm.fingerprint;
|
|
||||||
const OVirt = imports.gdm.oVirt;
|
const OVirt = imports.gdm.oVirt;
|
||||||
const Vmware = imports.gdm.vmware;
|
const Vmware = imports.gdm.vmware;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const SmartcardManager = imports.misc.smartcardManager;
|
const SmartcardManager = imports.misc.smartcardManager;
|
||||||
|
|
||||||
|
const FprintManagerIface = loadInterfaceXML('net.reactivated.Fprint.Manager');
|
||||||
|
const FprintManagerProxy = Gio.DBusProxy.makeProxyWrapper(FprintManagerIface);
|
||||||
|
|
||||||
Gio._promisify(Gdm.Client.prototype,
|
Gio._promisify(Gdm.Client.prototype,
|
||||||
'open_reauthentication_channel', 'open_reauthentication_channel_finish');
|
'open_reauthentication_channel', 'open_reauthentication_channel_finish');
|
||||||
Gio._promisify(Gdm.Client.prototype,
|
Gio._promisify(Gdm.Client.prototype,
|
||||||
@ -138,7 +141,12 @@ var ShellUserVerifier = class {
|
|||||||
this._updateDefaultService.bind(this));
|
this._updateDefaultService.bind(this));
|
||||||
this._updateDefaultService();
|
this._updateDefaultService();
|
||||||
|
|
||||||
this._fprintManager = Fprint.FprintManager();
|
this._fprintManager = new FprintManagerProxy(Gio.DBus.system,
|
||||||
|
'net.reactivated.Fprint',
|
||||||
|
'/net/reactivated/Fprint/Manager',
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES);
|
||||||
this._smartcardManager = SmartcardManager.getSmartcardManager();
|
this._smartcardManager = SmartcardManager.getSmartcardManager();
|
||||||
|
|
||||||
// We check for smartcards right away, since an inserted smartcard
|
// We check for smartcards right away, since an inserted smartcard
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
<gresource prefix="/org/gnome/shell">
|
<gresource prefix="/org/gnome/shell">
|
||||||
<file>gdm/authPrompt.js</file>
|
<file>gdm/authPrompt.js</file>
|
||||||
<file>gdm/batch.js</file>
|
<file>gdm/batch.js</file>
|
||||||
<file>gdm/fingerprint.js</file>
|
|
||||||
<file>gdm/loginDialog.js</file>
|
<file>gdm/loginDialog.js</file>
|
||||||
<file>gdm/oVirt.js</file>
|
<file>gdm/oVirt.js</file>
|
||||||
<file>gdm/credentialManager.js</file>
|
<file>gdm/credentialManager.js</file>
|
||||||
|
Loading…
Reference in New Issue
Block a user