summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/connmgr.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/connmgr.py b/src/server/connmgr.py
index bdf1dc6..b490834 100644
--- a/src/server/connmgr.py
+++ b/src/server/connmgr.py
@@ -75,6 +75,18 @@ class ConnectionManager(_ConnectionManager, DBusProperties):
if proto not in self._protos:
raise NotImplemented('unknown protocol %s' % proto)
+ def check_protocol(self, proto):
+ if proto not in self._protocols:
+ raise NotImplemented('no protocol object for %s' % proto)
+
+ @dbus.service.method(CONN_MGR_INTERFACE, in_signature='s', out_signature='a(susv)')
+ def GetParameters(self, proto):
+ "Returns the mandatory and optional parameters for the given proto."
+ self.check_proto(proto)
+ self.check_protocol(proto)
+
+ return self._protocols[proto].parameters
+
@dbus.service.method(CONN_MGR_INTERFACE, in_signature='', out_signature='as')
def ListProtocols(self):
return self._protos.keys()