diff options
author | Morgan 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) |
commit | ccd2656a216023b7d1aeef2a61bdcb77ddca037a (patch) | |
tree | 4fb4b968f66fe8ba34c35c113a7f1b7b188079f5 /src/presenceservice.py | |
parent | ab215da45af72315270c209608553c359817cfa6 (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.py | 12 |
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) |