+"""
+Empathy Experience:
+ .profile file needs to be updated with proper presence
+ Conversations are incomplete
+ Conversations show the persons name, not needed due to aliases
+ Can't reopen a conversation for someone when I've already closed it
+ Can't call
+"""
+
import logging
import gobject
import telepathy
+import constants
+import gtk_toolbox
import connection
+_moduleLogger = logging.getLogger("connection_manager")
+
+
class TheOneRingConnectionManager(telepathy.server.ConnectionManager):
def __init__(self, shutdown_func=None):
- telepathy.server.ConnectionManager.__init__(self, 'theonering')
+ telepathy.server.ConnectionManager.__init__(self, constants._telepathy_implementation_name_)
- self._protos['gvoice'] = connection.TheOneRingConnection
+ # self._protos is from super
+ self._protos[constants._telepathy_protocol_name_] = connection.TheOneRingConnection
self._on_shutdown = shutdown_func
- logging.info("Connection manager created")
+ _moduleLogger.info("Connection manager created")
+ @gtk_toolbox.log_exception(_moduleLogger)
def GetParameters(self, proto):
"""
- org.freedesktop.telepathy.ConnectionManager
+ For org.freedesktop.telepathy.ConnectionManager
@returns the mandatory and optional parameters for creating a connection
"""
if proto not in self._protos:
- raise telepathy.NotImplemented('unknown protocol %s' % proto)
+ raise telepathy.errors.NotImplemented('unknown protocol %s' % proto)
result = []
- connection_class = self._protos[proto]
- mandatory_parameters = connection_class._mandatory_parameters
- optional_parameters = connection_class._optional_parameters
- default_parameters = connection_class._parameter_defaults
+ ConnectionClass = self._protos[proto]
+ mandatoryParameters = ConnectionClass._mandatory_parameters
+ optionalParameters = ConnectionClass._optional_parameters
+ defaultParameters = ConnectionClass._parameter_defaults
- for parameter_name, parameter_type in mandatory_parameters.iteritems():
+ for parameterName, parameterType in mandatoryParameters.iteritems():
+ flags = telepathy.CONN_MGR_PARAM_FLAG_REQUIRED
+ if parameterName == "password":
+ flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
param = (
- parameter_name,
- telepathy.CONN_MGR_PARAM_FLAG_REQUIRED,
- parameter_type,
+ parameterName,
+ flags,
+ parameterType,
'',
)
result.append(param)
- for parameter_name, parameter_type in optional_parameters.iteritems():
- if parameter_name in default_parameters:
- param = (
- parameter_name,
- telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT,
- parameter_name,
- default_parameters[parameter_name],
- )
+ for parameterName, parameterType in optionalParameters.iteritems():
+ if parameterName in defaultParameters:
+ flags = telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT
+ if parameterName == "password":
+ flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
+ default = defaultParameters[parameterName]
else:
- param = (parameter_name, 0, parameter_name, '')
+ flags = 0
+ default = ""
+ param = (
+ parameterName,
+ flags,
+ parameterName,
+ default,
+ )
result.append(param)
return result
def disconnected(self, conn):
+ """
+ Overrides telepathy.server.ConnectionManager
+ """
result = telepathy.server.ConnectionManager.disconnected(self, conn)
gobject.timeout_add(5000, self.shutdown)
"""
for connection in self._connections:
connection.Disconnect()
- logging.info("Connection manager quitting")
+ _moduleLogger.info("Connection manager quitting")
def _shutdown(self):
if (