X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Fchannel_manager.py;h=2331063b9a0f624aa86c2a9d6909e781aa208275;hp=dfff25907606bc77bc1f4e7d1d25d50366d885dd;hb=155d582be8f8606989447364d93f754751e6820e;hpb=ae58a0e7efd07fd97be2289c97cc2d3a53651ca9 diff --git a/src/channel_manager.py b/src/channel_manager.py index dfff259..2331063 100644 --- a/src/channel_manager.py +++ b/src/channel_manager.py @@ -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