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):
+ IDLE_TIMEOUT = 10
+
def __init__(self, shutdown_func=None):
tp.ConnectionManager.__init__(self, constants._telepathy_implementation_name_)
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
return result
- def disconnected(self, conn):
- """
- Overrides tp.ConnectionManager
- """
- result = tp.ConnectionManager.disconnected(self, conn)
- gobject_utils.timeout_add_seconds(5, 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