From 5b9a5ee27345d1f4dd01a3685e9491def2dbbd91 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sat, 2 Nov 2013 14:17:33 +0100 Subject: [PATCH] [RigoDaemon] extend updates_available() signal with "One Click Update" information --- magneto/src/magneto/core/interfaces.py | 3 ++- rigo/RigoDaemon/app.py | 8 ++++---- rigo/rigo/controllers/daemon.py | 7 ++++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/magneto/src/magneto/core/interfaces.py b/magneto/src/magneto/core/interfaces.py index a70f0ef47..cddc46ec8 100644 --- a/magneto/src/magneto/core/interfaces.py +++ b/magneto/src/magneto/core/interfaces.py @@ -313,7 +313,8 @@ class MagnetoCore(MagnetoCoreUI): return dbus_string.decode(etpConst['conf_encoding']) def _updates_available_signal(self, update, update_atoms, - remove, remove_atoms): + remove, remove_atoms, + one_click_update=False): updates = [self._dbus_to_unicode(x) for x in update_atoms] self.new_updates_signal(updates) diff --git a/rigo/RigoDaemon/app.py b/rigo/RigoDaemon/app.py index ca9259b45..578beeb3b 100755 --- a/rigo/RigoDaemon/app.py +++ b/rigo/RigoDaemon/app.py @@ -473,7 +473,7 @@ class RigoDaemonService(dbus.service.Object): Gio.FileMonitorEvent.ATTRIBUTE_CHANGED, Gio.FileMonitorEvent.CHANGED) - API_VERSION = 7 + API_VERSION = 8 """ RigoDaemon is the dbus service Object in charge of executing @@ -1198,7 +1198,7 @@ class RigoDaemonService(dbus.service.Object): GLib.idle_add(self.updates_available, update, update_atoms, - remove, remove_atoms) + remove, remove_atoms, True) def _update_repositories(self, repositories, force, activity, pid, authorized=False): @@ -3718,9 +3718,9 @@ class RigoDaemonService(dbus.service.Object): debug=True) @dbus.service.signal(dbus_interface=BUS_NAME, - signature='a(is)asaias') + signature='a(is)asaiasb') def updates_available(self, update, update_atoms, remove, - remove_atoms): + remove_atoms, one_click_updatable): """ Signal all the connected Clients that there are updates available. diff --git a/rigo/rigo/controllers/daemon.py b/rigo/rigo/controllers/daemon.py index 3889b0ce3..f98146daf 100644 --- a/rigo/rigo/controllers/daemon.py +++ b/rigo/rigo/controllers/daemon.py @@ -188,7 +188,7 @@ class RigoServiceController(GObject.Object): _NOTICEBOARDS_AVAILABLE_SIGNAL = "noticeboards_available" _REPOS_SETTINGS_CHANGED_SIGNAL = "repositories_settings_changed" _MIRRORS_OPTIMIZED_SIGNAL = "mirrors_optimized" - _SUPPORTED_APIS = [6, 7] + _SUPPORTED_APIS = [6, 7, 8] def __init__(self, rigo_app, activity_rwsem, entropy_client, entropy_ws): @@ -914,11 +914,12 @@ class RigoServiceController(GObject.Object): self._nc.append(box, timeout=20) def _updates_available_signal(self, update, update_atoms, remove, - remove_atoms): + remove_atoms, one_click_update=False): const_debug_write( __name__, "_updates_available_signal: " - "update: %s, remove: %s" % (update, remove,)) + "update: %s, remove: %s, one_click_update: %s" % ( + update, remove, one_click_update)) if not update: return update = [(int(x), self._dbus_to_unicode(y)) for x, y \