Thanks Xavier.<br><br>I would prefer keeping my current system (unless and until it is _absolutely_ necessary).<br><br><br><br>As part of me making the last-sub-use-case work, I tried the following signals as well ::<br><br>
(i)<br><a href="http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Signal:HandleOwnersChangedDetailed">http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Signal:HandleOwnersChangedDetailed</a><br>
<br>(ii)<br><a href="http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Signal:MembersChanged">http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Signal:MembersChanged</a><br><br><br>But none of them hit the callback function (nor do I get any missing function error), when the last-sub-use-case is hit.<br>
<br><br><br><br>So,<br><br>a)<br>Is that expected?<br><br>b)<br>If yes, I just wonder when (if ever) is the case when the above two signal callbacks are hit, with a non-empty &quot;Removed&quot; list?<br><br><br>Thanks and Regards,<br>
Ajay<br><br><br><br><div class="gmail_quote">On Thu, Jun 7, 2012 at 4:37 PM, Xavier Claessens <span dir="ltr">&lt;<a href="mailto:xclaesse@gmail.com" target="_blank">xclaesse@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Your packages are completely outdated. You need at least tp-salut 0.7.2.<br>
<br>
Again you should not use dbus directly. If your app is written in<br>
python, please use telepathy-glib&#39;s python binding. see for example:<br>
<br>
<a href="http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/examples/client/python/contact-list.py" target="_blank">http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/examples/client/python/contact-list.py</a><br>

<br>
Regards,<br>
Xavier Claessens<br>
<br>
Le jeudi 07 juin 2012 à 16:14 +0530, Ajay Garg a écrit :<br>
<div class="HOEnZb"><div class="h5">&gt; Thanks a ton Xavier, for the reply.<br>
&gt;<br>
&gt; Even I had the uneasy feeling, since the &#39;GetMembers&#39; had the<br>
&gt; semantics different from the other two.<br>
&gt; Looking at the &quot;Connection_Interface_Contact_List&quot;, its semantics seem<br>
&gt; to be in line with the other two.<br>
&gt;<br>
&gt;<br>
&gt; However, I am getting the following key-error, when I use the above ::<br>
&gt;<br>
&gt; ####################################################################################<br>
&gt; Traceback (most recent call last):<br>
&gt;   File &quot;/usr/lib/python2.7/site-packages/dbus/connection.py&quot;, line<br>
&gt; 586, in msg_reply_handler<br>
&gt;     reply_handler(*message.get_args_list(**get_args_opts))<br>
&gt;   File &quot;demos/Telepathy/telepathy_test.py&quot;, line 371, in<br>
&gt; __get_self_handle_cb<br>
&gt;<br>
&gt; self._connection[CONNECTION_INTERFACE_CONTACT_LIST].GetContactListAttributes(<br>
&gt;   File<br>
&gt; &quot;/usr/lib/python2.7/site-packages/telepathy/client/interfacefactory.py&quot;, line 74, in __getitem__<br>
&gt;     raise KeyError(name)<br>
&gt; KeyError:<br>
&gt; &#39;org.freedesktop.Telepathy.Connection.Interface.ContactList.DRAFT2&#39;<br>
&gt; ^CTraceback (most recent call last):<br>
&gt;   File &quot;demos/Telepathy/telepathy_test.py&quot;, line 670, in &lt;module&gt;<br>
&gt;     gobject.MainLoop().run()<br>
&gt; KeyboardInterrupt<br>
&gt; ####################################################################################<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Following are the telepathy-packages on my system ::<br>
&gt;<br>
&gt; ####################################################################################<br>
&gt; [ajay@localhost ~]$ rpm -qa | grep telepathy<br>
&gt;<br>
&gt; telepathy-mission-control-5.6.0-2.fc14.i686<br>
&gt; telepathy-gabble-0.10.3-1.fc14.i686<br>
&gt; telepathy-idle-0.1.6-1.fc14.i686<br>
&gt; telepathy-salut-0.4.0-1.fc14.i686<br>
&gt; telepathy-glib-0.11.16-1.fc14.i686<br>
&gt; python-telepathy-0.15.18-1.fc14.noarch<br>
&gt; telepathy-logger-0.1.5-1.fc14.i686<br>
&gt; telepathy-glib-devel-0.11.16-1.fc14.i686<br>
&gt; telepathy-butterfly-0.5.14-1.fc14.noarch<br>
&gt; telepathy-farsight-0.0.14-2.fc14.i686<br>
&gt; telepathy-glib-vala-0.11.16-1.fc14.i686<br>
&gt; telepathy-haze-0.4.0-1.fc14.i686<br>
&gt; telepathy-filesystem-0.0.2-1.fc12.noarch<br>
&gt; ####################################################################################<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Which (minimum) package(s) do I need to upgrade, so that<br>
&gt; &quot;CONNECTION_INTERFACE_CONTACT_LIST&quot; can be queries upon?<br>
&gt;<br>
&gt; I will be grateful for a reply :)<br>
&gt;<br>
&gt;<br>
&gt; Thanks and Regards,<br>
&gt; Ajay<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Jun 7, 2012 at 2:34 PM, Xavier Claessens &lt;<a href="mailto:xclaesse@gmail.com">xclaesse@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;         Le jeudi 07 juin 2012 à 11:55 +0530, Ajay Garg a écrit :<br>
&gt;         &gt; Hi all.<br>
&gt;         &gt;<br>
&gt;         &gt; I have wriiten a basic python program using telepathy-salut,<br>
&gt;         wherein<br>
&gt;         &gt; buddies are able to see each other coming offline/online on<br>
&gt;         a<br>
&gt;         &gt; telepathy-salut connection.<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt; Following interfaces/signals are being used ::<br>
&gt;         &gt;<br>
&gt;         &gt; a)<br>
&gt;         &gt;<br>
&gt;         <a href="http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Method:GetMembers" target="_blank">http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Method:GetMembers</a><br>
&gt;<br>
&gt;         &gt; This interface is used to get the list (one-time, at<br>
&gt;         startup) of the<br>
&gt;         &gt; buddies, when a machine connects to telepathy-salut<br>
&gt;         connection<br>
&gt;         &gt; (obviously, one singular time).<br>
&gt;<br>
&gt;<br>
&gt;         That&#39;s the old way of getting the list of contacts, this<br>
&gt;         interface is<br>
&gt;         easier to use:<br>
&gt;         <a href="http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html" target="_blank">http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html</a><br>
&gt;<br>
&gt;         &gt; (iii)<br>
&gt;         &gt; M1 disconnects from telepathy-salut.<br>
&gt;         &gt; M2 goes offline from M1&#39;s context (as obviously expected).<br>
&gt;         &gt; HOWEVER, M1 IS STILL SHOWN TO BE ONLINE IN M2&#39;S CONTEXT<br>
&gt;         (something not<br>
&gt;         &gt; expected).<br>
&gt;         &gt;<br>
&gt;<br>
&gt;<br>
&gt;         I think what happens is the contact is removed from your<br>
&gt;         roster, but his<br>
&gt;         presence may not get updated to offline, since the contact is<br>
&gt;         not<br>
&gt;         supposed to exist anymore.<br>
&gt;<br>
&gt;         You should listen to that signal to add/remove contacts from<br>
&gt;         the<br>
&gt;         context:<br>
&gt;         <a href="http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html#Signal:ContactsChangedWithID" target="_blank">http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html#Signal:ContactsChangedWithID</a><br>

&gt;<br>
&gt;<br>
&gt;         You should also consider using telepathy-glib or telepathy-qt<br>
&gt;         helper<br>
&gt;         libraries instead of listening to dbus directly. Those 2<br>
&gt;         libraries<br>
&gt;         provides much easier high level API.<br>
&gt;<br>
&gt;         Regards,<br>
&gt;         Xavier Claessens.<br>
&gt;<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br>