[gnome-shell] bluetooth: Port to BlueZ 5
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] bluetooth: Port to BlueZ 5
- Date: Fri, 14 Jun 2013 09:36:30 +0000 (UTC)
commit dd74ea99a70fb0c4615b448670a4a1d0b843eab4
Author: Emilio Pozuelo Monfort <emilio pozuelo collabora co uk>
Date: Wed May 22 16:27:02 2013 +0200
bluetooth: Port to BlueZ 5
In BlueZ 4, Authorize() was used to authorize both service
and JustWorks authorization requests. In BlueZ 5 these two
have been split into AuthorizeService() for services and
RequestAuthorization for JustWorks devices. Adapt the
Bluetooth code accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=700891
js/ui/status/bluetooth.js | 44 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 39 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
index f4610c7..bcc853b 100644
--- a/js/ui/status/bluetooth.js
+++ b/js/ui/status/bluetooth.js
@@ -86,6 +86,7 @@ const Indicator = new Lang.Class({
this._applet.connect('pincode-request', Lang.bind(this, this._pinRequest));
this._applet.connect('confirm-request', Lang.bind(this, this._confirmRequest));
this._applet.connect('auth-request', Lang.bind(this, this._authRequest));
+ this._applet.connect('auth-service-request', Lang.bind(this, this._authServiceRequest));
this._applet.connect('cancel-request', Lang.bind(this, this._cancelRequest));
},
@@ -292,9 +293,14 @@ const Indicator = new Lang.Class({
}
},
- _authRequest: function(applet, device_path, name, long_name, uuid) {
+ _authRequest: function(applet, device_path, name, long_name) {
this._ensureSource();
- this._source.notify(new AuthNotification(this._source, this._applet, device_path, name, long_name,
uuid));
+ this._source.notify(new AuthNotification(this._source, this._applet, device_path, name, long_name));
+ },
+
+ _authServiceRequest: function(applet, device_path, name, long_name, uuid) {
+ this._ensureSource();
+ this._source.notify(new AuthServiceNotification(this._source, this._applet, device_path, name,
long_name, uuid));
},
_confirmRequest: function(applet, device_path, name, long_name, pin) {
@@ -316,6 +322,34 @@ const AuthNotification = new Lang.Class({
Name: 'AuthNotification',
Extends: MessageTray.Notification,
+ _init: function(source, applet, device_path, name, long_name) {
+ this.parent(source,
+ _("Bluetooth"),
+ _("Authorization request from %s").format(name),
+ { customContent: true });
+ this.setResident(true);
+
+ this._applet = applet;
+ this._devicePath = device_path;
+ this.addBody(_("Device %s wants to pair with this computer").format(long_name));
+
+ this.addButton('allow', _("Allow"));
+ this.addButton('deny', _("Deny"));
+
+ this.connect('action-invoked', Lang.bind(this, function(self, action) {
+ if (action == 'allow')
+ this._applet.agent_reply_confirm(this._devicePath, true);
+ else
+ this._applet.agent_reply_confirm(this._devicePath, false);
+ this.destroy();
+ }));
+ }
+});
+
+const AuthServiceNotification = new Lang.Class({
+ Name: 'AuthServiceNotification',
+ Extends: MessageTray.Notification,
+
_init: function(source, applet, device_path, name, long_name, uuid) {
this.parent(source,
_("Bluetooth"),
@@ -334,14 +368,14 @@ const AuthNotification = new Lang.Class({
this.connect('action-invoked', Lang.bind(this, function(self, action) {
switch (action) {
case 'always-grant':
- this._applet.agent_reply_auth(this._devicePath, true, true);
+ this._applet.agent_reply_auth_service(this._devicePath, true, true);
break;
case 'grant':
- this._applet.agent_reply_auth(this._devicePath, true, false);
+ this._applet.agent_reply_auth_service(this._devicePath, true, false);
break;
case 'reject':
default:
- this._applet.agent_reply_auth(this._devicePath, false, false);
+ this._applet.agent_reply_auth_service(this._devicePath, false, false);
}
this.destroy();
}));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]