[gnome-code-assistance] [backends/jscommon] Implemented app dispose
- From: Jesse van den Kieboom <jessevdk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-code-assistance] [backends/jscommon] Implemented app dispose
- Date: Sat, 9 Nov 2013 09:32:30 +0000 (UTC)
commit 2d5db67a89de751e03ff96045cbdaaa02d04fc09
Author: Jesse van den Kieboom <jessevdk gmail com>
Date: Sat Nov 9 10:32:37 2013 +0100
[backends/jscommon] Implemented app dispose
.../gnome/codeassistance/transport_dbus.js | 24 ++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/backends/jscommon/gnome/codeassistance/transport_dbus.js
b/backends/jscommon/gnome/codeassistance/transport_dbus.js
index f74b4cf..4040d24 100644
--- a/backends/jscommon/gnome/codeassistance/transport_dbus.js
+++ b/backends/jscommon/gnome/codeassistance/transport_dbus.js
@@ -28,6 +28,14 @@ var DiagnosticsIface = '<interface name="org.gnome.CodeAssist.Diagnostics">
</method> \
</interface>';
+var FreedesktopDBusIface = '<interface name="org.freedesktop.DBus"> \
+ <signal name="NameOwnerChanged"> \
+ <arg direction="out" type="s"/> \
+ <arg direction="out" type="s"/> \
+ <arg direction="out" type="s"/> \
+ </signal> \
+</interface>';
+
var Document = function(doc) {
this._init(doc);
};
@@ -70,6 +78,8 @@ function Server(conn, service, document) {
this._init(conn, service, document);
}
+const FreedesktopDBusProxy = Gio.DBusProxy.makeProxyWrapper(FreedesktopDBusIface);
+
Server.prototype = {
_init: function(conn, service, document) {
this.conn = conn;
@@ -91,6 +101,20 @@ Server.prototype = {
this.services.push(s);
}
}
+
+ var proxy = new FreedesktopDBusProxy(Gio.DBus.session,
+ 'org.freedesktop.DBus',
+ '/org/freedesktop/DBus');
+
+ proxy.connectSignal('NameOwnerChanged', Lang.bind(this, this.on_name_owner_changed));
+ },
+
+ on_name_owner_changed: function(emitter, senderName, parameters) {
+ [owner, oldname, newname] = parameters;
+
+ if (newname == '' && oldname in this.apps) {
+ this.dispose_app(this.apps[oldname]);
+ }
},
app: function(appid) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]