+ self.__manager = manager
+ self.__props = props
+ self._delayedClose = gobject_utils.Timeout(self._on_close_requested)
+
+ if telepathy.interfaces.CHANNEL_INTERFACE + '.InitiatorHandle' in props:
+ self._initiator = connection.get_handle_by_id(
+ telepathy.HANDLE_TYPE_CONTACT,
+ props[telepathy.interfaces.CHANNEL_INTERFACE + '.InitiatorHandle'],
+ )
+ elif telepathy.interfaces.CHANNEL_INTERFACE + '.InitiatorID' in props:
+ self._initiator = connection.get_handle_by_name(
+ telepathy.HANDLE_TYPE_CONTACT,
+ props[telepathy.interfaces.CHANNEL_INTERFACE + '.InitiatorHandle'],
+ )
+ else:
+ # Maemo 5 seems to require InitiatorHandle/InitiatorID to be set
+ # even though I can't find them in the dbus spec. I think its
+ # generally safe to assume that its locally initiated if not
+ # specified. Specially for The One Ring, its always locally
+ # initiated
+ _moduleLogger.warning('InitiatorID or InitiatorHandle not set on new channel, assuming locally initiated')
+ self._initiator = connection.GetSelfHandle()
+
+ tp.ChannelTypeStreamedMedia.__init__(self, connection, manager, props)
+ tp.ChannelInterfaceGroup.__init__(self)
+ tp.ChannelInterfaceCallState.__init__(self)
+ tp.ChannelInterfaceHold.__init__(self)
+ self.__contactHandle = contactHandle
+ self.__calledNumber = None