Fixing handling of +1 gizmo numbers
[theonering] / src / connection_manager.py
index 207f773..90252b6 100644 (file)
@@ -1,11 +1,3 @@
-"""
-Empathy Experience:
-       Can't call
-       When first started, reports all read conversations when some might have been read
-       When first started, reports all of an SMS conversation even though some has been reported previously
-       Still leaking one of two contact lists
-"""
-
 import logging
 
 import gobject
@@ -21,6 +13,7 @@ _moduleLogger = logging.getLogger("connection_manager")
 
 
 class TheOneRingConnectionManager(tp.ConnectionManager):
+       # @bug Crashing Maemo 4.1's RTComm on occasion
 
        def __init__(self, shutdown_func=None):
                tp.ConnectionManager.__init__(self, constants._telepathy_implementation_name_)
@@ -45,34 +38,24 @@ class TheOneRingConnectionManager(tp.ConnectionManager):
                mandatoryParameters = ConnectionClass._mandatory_parameters
                optionalParameters = ConnectionClass._optional_parameters
                defaultParameters = ConnectionClass._parameter_defaults
+               secretParameters = ConnectionClass._secret_parameters
 
                for parameterName, parameterType in mandatoryParameters.iteritems():
                        flags = telepathy.CONN_MGR_PARAM_FLAG_REQUIRED
-                       if parameterName == "password":
+                       if parameterName in secretParameters:
                                flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
-                       param = (
-                               parameterName,
-                               flags,
-                               parameterType,
-                               '',
-                       )
+                       param = (parameterName, flags, parameterType, "")
                        result.append(param)
 
                for parameterName, parameterType in optionalParameters.iteritems():
+                       flags = 0
+                       default = ""
+                       if parameterName in secretParameters:
+                               flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
                        if parameterName in defaultParameters:
-                               flags = telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT
-                               if parameterName == "password":
-                                       flags |= telepathy.CONN_MGR_PARAM_FLAG_SECRET
+                               flags |= telepathy.CONN_MGR_PARAM_FLAG_HAS_DEFAULT
                                default = defaultParameters[parameterName]
-                       else:
-                               flags = 0
-                               default = ""
-                       param = (
-                               parameterName,
-                               flags,
-                               parameterName,
-                               default,
-                       )
+                       param = (parameterName, flags, parameterType, default)
                        result.append(param)
 
                return result