X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Fchannel_manager.py;h=1f732e177b8efe76010300c189276e2ed60b27fc;hp=ee844c0383f296486cbc36e400b9b82dd9d63d8e;hb=5e4f5b50cd8eaacfd47c8082125b984a890bf150;hpb=1c892d1b9bf14b28eb54ce3590ed2ee29d5e3d25 diff --git a/src/channel_manager.py b/src/channel_manager.py index ee844c0..1f732e1 100644 --- a/src/channel_manager.py +++ b/src/channel_manager.py @@ -8,7 +8,7 @@ import channel import util.misc as misc_utils -_moduleLogger = logging.getLogger("channel_manager") +_moduleLogger = logging.getLogger(__name__) class ChannelManager(tp.ChannelManager): @@ -16,47 +16,78 @@ class ChannelManager(tp.ChannelManager): def __init__(self, connection): tp.ChannelManager.__init__(self, connection) - fixed = { - telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_CONTACT_LIST - } - self._implement_channel_class( + classes = [ + ( + { + telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_CONTACT_LIST, + telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_LIST), + }, + [ + telepathy.CHANNEL_INTERFACE + '.TargetHandle', + telepathy.CHANNEL_INTERFACE + '.TargetID', + ], + ), + ] + self.implement_channel_classes( telepathy.CHANNEL_TYPE_CONTACT_LIST, self._get_list_channel, - fixed, - [] + classes, ) - fixed = { - telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_TEXT, - telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_CONTACT) - } - self._implement_channel_class( + classes = [ + ( + { + telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_TEXT, + telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_CONTACT) + }, + [ + telepathy.CHANNEL_INTERFACE + '.TargetHandle', + telepathy.CHANNEL_INTERFACE + '.TargetID', + ], + ), + ] + self.implement_channel_classes( telepathy.CHANNEL_TYPE_TEXT, self._get_text_channel, - fixed, - [] + classes, ) - fixed = { - telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_FILE_TRANSFER, - telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_CONTACT) - } - self._implement_channel_class( + classes = [ + ( + { + telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_FILE_TRANSFER, + telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_CONTACT) + }, + [ + telepathy.CHANNEL_INTERFACE + '.TargetHandle', + telepathy.CHANNEL_INTERFACE + '.TargetID', + ], + ), + ] + self.implement_channel_classes( telepathy.CHANNEL_TYPE_FILE_TRANSFER, self._get_file_transfer_channel, - fixed, - [] + classes, ) - fixed = { - telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_STREAMED_MEDIA, - telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_CONTACT) - } - self._implement_channel_class( + classes = [ + ( + { + telepathy.CHANNEL_INTERFACE + '.ChannelType': telepathy.CHANNEL_TYPE_STREAMED_MEDIA, + telepathy.CHANNEL_INTERFACE + '.TargetHandleType': dbus.UInt32(telepathy.HANDLE_TYPE_CONTACT) + }, + [ + telepathy.CHANNEL_INTERFACE + '.TargetHandle', + telepathy.CHANNEL_INTERFACE + '.TargetID', + telepathy.CHANNEL_TYPE_STREAMED_MEDIA + '.InitialAudio', + telepathy.CHANNEL_TYPE_STREAMED_MEDIA + '.InitialVideo', + ], + ), + ] + self.implement_channel_classes( telepathy.CHANNEL_TYPE_STREAMED_MEDIA, self._get_media_channel, - fixed, - [telepathy.CHANNEL_INTERFACE + '.TargetHandle'] + classes, ) def _get_list_channel(self, props):