diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-08-07 15:57:42 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.co.uk> | 2010-08-20 13:02:27 (GMT) |
commit | fbd859924a8777798b091c94b578ba03ef6f83eb (patch) | |
tree | 9620d9ce249cb90ed9c668b33d6ab8912198684e | |
parent | c274279a09e4788c0b06415afd8024bcde74bfb6 (diff) |
Only listen for presence updates in the subscribe contact list
-rw-r--r-- | src/jarabe/model/neighborhood.py | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/src/jarabe/model/neighborhood.py b/src/jarabe/model/neighborhood.py index 744b762..a50e0e4 100644 --- a/src/jarabe/model/neighborhood.py +++ b/src/jarabe/model/neighborhood.py @@ -294,26 +294,25 @@ class _Account(gobject.GObject): logging.warning('Connection %s does not support OLPC activity ' 'properties', self._connection.object_path) - for target_id in 'subscribe', 'publish': - properties = { - CHANNEL + '.ChannelType': CHANNEL_TYPE_CONTACT_LIST, - CHANNEL + '.TargetHandleType': HANDLE_TYPE_LIST, - CHANNEL + '.TargetID': target_id, - } - properties = dbus.Dictionary(properties, signature='sv') - connection = self._connection[CONNECTION_INTERFACE_REQUESTS] - is_ours, channel_path, properties = \ - connection.EnsureChannel(properties) - - channel = Channel(self._connection.service_name, channel_path) - channel[CHANNEL_INTERFACE_GROUP].connect_to_signal( - 'MembersChanged', self.__members_changed_cb) - - channel[PROPERTIES_IFACE].Get(CHANNEL_INTERFACE_GROUP, - 'Members', - reply_handler=self.__get_members_ready_cb, - error_handler=partial(self.__error_handler_cb, - 'Connection.GetMembers')) + properties = { + CHANNEL + '.ChannelType': CHANNEL_TYPE_CONTACT_LIST, + CHANNEL + '.TargetHandleType': HANDLE_TYPE_LIST, + CHANNEL + '.TargetID': 'subscribe', + } + properties = dbus.Dictionary(properties, signature='sv') + connection = self._connection[CONNECTION_INTERFACE_REQUESTS] + is_ours, channel_path, properties = \ + connection.EnsureChannel(properties) + + channel = Channel(self._connection.service_name, channel_path) + channel[CHANNEL_INTERFACE_GROUP].connect_to_signal( + 'MembersChanged', self.__members_changed_cb) + + channel[PROPERTIES_IFACE].Get(CHANNEL_INTERFACE_GROUP, + 'Members', + reply_handler=self.__get_members_ready_cb, + error_handler=partial(self.__error_handler_cb, + 'Connection.GetMembers')) def __aliases_changed_cb(self, aliases): logging.debug('_Account.__aliases_changed_cb') |