X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Fconnection_manager.py;h=b9a8e3777452a2e8893872112cd46cbdf5d4b764;hp=90252b622a4fe36f29e3606869603daa03f8280d;hb=afa4cdb64e451070cf87cc02f257c582fa057f53;hpb=092d3d1486f3af0fa58d94f9b13d5073964615ca diff --git a/src/connection_manager.py b/src/connection_manager.py index 90252b6..b9a8e37 100644 --- a/src/connection_manager.py +++ b/src/connection_manager.py @@ -1,19 +1,20 @@ import logging -import gobject import telepathy import constants import tp -import gtk_toolbox +import util.go_utils as gobject_utils +import util.misc as misc_utils import connection -_moduleLogger = logging.getLogger("connection_manager") +_moduleLogger = logging.getLogger(__name__) class TheOneRingConnectionManager(tp.ConnectionManager): - # @bug Crashing Maemo 4.1's RTComm on occasion + + IDLE_TIMEOUT = 10 def __init__(self, shutdown_func=None): tp.ConnectionManager.__init__(self, constants._telepathy_implementation_name_) @@ -23,7 +24,7 @@ class TheOneRingConnectionManager(tp.ConnectionManager): self._on_shutdown = shutdown_func _moduleLogger.info("Connection manager created") - @gtk_toolbox.log_exception(_moduleLogger) + @misc_utils.log_exception(_moduleLogger) def GetParameters(self, proto): """ For org.freedesktop.telepathy.ConnectionManager @@ -60,22 +61,18 @@ class TheOneRingConnectionManager(tp.ConnectionManager): return result - def disconnected(self, conn): - """ - Overrides tp.ConnectionManager - """ - result = tp.ConnectionManager.disconnected(self, conn) - gobject.timeout_add(5000, self._shutdown) + def disconnect_completed(self): + gobject_utils.timeout_add_seconds(self.IDLE_TIMEOUT, self._shutdown) def quit(self): """ Terminates all connections. Must be called upon quit """ - for connection in self._connections: - connection.Disconnect() + for conn in self._connections: + conn.Disconnect() _moduleLogger.info("Connection manager quitting") - @gtk_toolbox.log_exception(_moduleLogger) + @misc_utils.log_exception(_moduleLogger) def _shutdown(self): if ( self._on_shutdown is not None and