Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/presenceservice.py
diff options
context:
space:
mode:
authorMorgan Collett <morgan.collett@gmail.com>2008-12-19 12:21:34 (GMT)
committer Morgan Collett <morgan.collett@gmail.com>2008-12-20 12:19:31 (GMT)
commitccd2656a216023b7d1aeef2a61bdcb77ddca037a (patch)
tree4fb4b968f66fe8ba34c35c113a7f1b7b188079f5 /src/presenceservice.py
parentab215da45af72315270c209608553c359817cfa6 (diff)
#142: D-Bus method to restart the server_plugin.
Changes to ShellOwner and GenericOwner to reread the server from gconf on the fly.
Diffstat (limited to 'src/presenceservice.py')
-rw-r--r--src/presenceservice.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/presenceservice.py b/src/presenceservice.py
index e68bded..84c3cc2 100644
--- a/src/presenceservice.py
+++ b/src/presenceservice.py
@@ -857,6 +857,18 @@ class PresenceService(ExportedGObject):
if self._server_plugin is not None:
self._server_plugin.sync_friends(keys)
+ @dbus.service.method(PRESENCE_INTERFACE, in_signature="",
+ out_signature="")
+ def RestartServerConnection(self):
+ """Stop and restart the server_plugin.
+
+ This allows changing jabber servers without restarting Sugar.
+ """
+ if self._server_plugin:
+ if self._server_plugin.status == CONNECTION_STATUS_CONNECTED:
+ self._server_plugin.cleanup()
+ self._server_plugin.start()
+
def main(test_num=0, randomize=False):
loop = gobject.MainLoop()
DBusGMainLoop(set_as_default=True)