Adding a webpage
[theonering] / src / channel_manager.py
index dfff259..2331063 100644 (file)
@@ -19,7 +19,7 @@ class ChannelManager(object):
 
        def close(self):
                for chan in self._listChannels.values():
-                       chan.remove_from_connection()# so that dbus lets it die.
+                       chan.Close()
                for chan in self._textChannels.values():
                        chan.Close()
                for chan in self._callChannels.values():
@@ -30,7 +30,7 @@ class ChannelManager(object):
                        chan = self._listChannels[handle]
                except KeyError, e:
                        if handle.get_type() != telepathy.HANDLE_TYPE_LIST:
-                               raise RuntimeError("Unsupported channel type %r" % handle.get_type())
+                               raise telepathy.errors.NotImplemented("Only server lists are allowed")
                        _moduleLogger.debug("Requesting new contact list channel")
 
                        chan = channel.contact_list.create_contact_list_channel(self._connRef(), handle)
@@ -43,11 +43,10 @@ class ChannelManager(object):
                        chan = self._textChannels[handle]
                except KeyError, e:
                        if handle.get_type() != telepathy.HANDLE_TYPE_CONTACT:
-                               raise telepathy.NotImplemented("Only Contacts are allowed")
+                               raise telepathy.errors.NotImplemented("Only Contacts are allowed")
                        _moduleLogger.debug("Requesting new text channel")
 
-                       contact = handle.contact
-                       chan = channel.text.TextChannel(self._connRef())
+                       chan = channel.text.TextChannel(self._connRef(), handle)
                        self._textChannels[handle] = chan
                        self._connRef().add_channel(chan, handle, suppress_handler)
                return chan
@@ -56,12 +55,11 @@ class ChannelManager(object):
                try:
                        chan = self._callChannels[handle]
                except KeyError, e:
-                       if handle.get_type() != telepathy.HANDLE_TYPE_CONTACT:
-                               raise telepathy.NotImplemented("Only Contacts are allowed")
+                       if handle.get_type() != telepathy.HANDLE_TYPE_NONE:
+                               raise telepathy.errors.NotImplemented("Using deprecated means to create a call")
                        _moduleLogger.debug("Requesting new call channel")
 
-                       contact = handle.contact
-                       chan = channel.call.CallChannel(self._connRef())
+                       chan = channel.call.CallChannel(self._connRef(), handle)
                        self._callChannels[handle] = chan
                        self._connRef().add_channel(chan, handle, suppress_handler)
                return chan