Hi Xavier. I upgraded to a Fedora 17, and am using telepathy-salut 0.8.
As suggested by you, I am now able to get the initial list of contacts (at startup) by using http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html Thanks. However, my original issue still remains unsolved. When a contact disconnects (from the telepathy network), the callback function --- specified for the signal http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html#Signal:ContactsChangedWithID--- is NOT hit. Are you sure that this is intended to work (that is without using the experimental, unstable http://telepathy.freedesktop.org/spec/Connection_Interface_Keepalive.html) ? Would be glad to hear back from you. Thanks and Regards, Ajay On Thu, Jun 7, 2012 at 7:33 AM, Ajay Garg <ajaygargn...@gmail.com> wrote: > Thanks Xavier. > > I would prefer keeping my current system (unless and until it is > _absolutely_ necessary). > > > > As part of me making the last-sub-use-case work, I tried the following > signals as well :: > > (i) > > http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Signal:HandleOwnersChangedDetailed > > (ii) > > http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Signal:MembersChanged > > > But none of them hit the callback function (nor do I get any missing > function error), when the last-sub-use-case is hit. > > > > > So, > > a) > Is that expected? > > b) > If yes, I just wonder when (if ever) is the case when the above two signal > callbacks are hit, with a non-empty "Removed" list? > > > Thanks and Regards, > Ajay > > > > > On Thu, Jun 7, 2012 at 4:37 PM, Xavier Claessens <xclae...@gmail.com>wrote: > >> Your packages are completely outdated. You need at least tp-salut 0.7.2. >> >> Again you should not use dbus directly. If your app is written in >> python, please use telepathy-glib's python binding. see for example: >> >> >> http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/examples/client/python/contact-list.py >> >> Regards, >> Xavier Claessens >> >> Le jeudi 07 juin 2012 à 16:14 +0530, Ajay Garg a écrit : >> > Thanks a ton Xavier, for the reply. >> > >> > Even I had the uneasy feeling, since the 'GetMembers' had the >> > semantics different from the other two. >> > Looking at the "Connection_Interface_Contact_List", its semantics seem >> > to be in line with the other two. >> > >> > >> > However, I am getting the following key-error, when I use the above :: >> > >> > >> #################################################################################### >> > Traceback (most recent call last): >> > File "/usr/lib/python2.7/site-packages/dbus/connection.py", line >> > 586, in msg_reply_handler >> > reply_handler(*message.get_args_list(**get_args_opts)) >> > File "demos/Telepathy/telepathy_test.py", line 371, in >> > __get_self_handle_cb >> > >> > >> self._connection[CONNECTION_INTERFACE_CONTACT_LIST].GetContactListAttributes( >> > File >> > >> "/usr/lib/python2.7/site-packages/telepathy/client/interfacefactory.py", >> line 74, in __getitem__ >> > raise KeyError(name) >> > KeyError: >> > 'org.freedesktop.Telepathy.Connection.Interface.ContactList.DRAFT2' >> > ^CTraceback (most recent call last): >> > File "demos/Telepathy/telepathy_test.py", line 670, in <module> >> > gobject.MainLoop().run() >> > KeyboardInterrupt >> > >> #################################################################################### >> > >> > >> > >> > >> > >> > Following are the telepathy-packages on my system :: >> > >> > >> #################################################################################### >> > [ajay@localhost ~]$ rpm -qa | grep telepathy >> > >> > telepathy-mission-control-5.6.0-2.fc14.i686 >> > telepathy-gabble-0.10.3-1.fc14.i686 >> > telepathy-idle-0.1.6-1.fc14.i686 >> > telepathy-salut-0.4.0-1.fc14.i686 >> > telepathy-glib-0.11.16-1.fc14.i686 >> > python-telepathy-0.15.18-1.fc14.noarch >> > telepathy-logger-0.1.5-1.fc14.i686 >> > telepathy-glib-devel-0.11.16-1.fc14.i686 >> > telepathy-butterfly-0.5.14-1.fc14.noarch >> > telepathy-farsight-0.0.14-2.fc14.i686 >> > telepathy-glib-vala-0.11.16-1.fc14.i686 >> > telepathy-haze-0.4.0-1.fc14.i686 >> > telepathy-filesystem-0.0.2-1.fc12.noarch >> > >> #################################################################################### >> > >> > >> > >> > Which (minimum) package(s) do I need to upgrade, so that >> > "CONNECTION_INTERFACE_CONTACT_LIST" can be queries upon? >> > >> > I will be grateful for a reply :) >> > >> > >> > Thanks and Regards, >> > Ajay >> > >> > >> > >> > On Thu, Jun 7, 2012 at 2:34 PM, Xavier Claessens <xclae...@gmail.com> >> > wrote: >> > Le jeudi 07 juin 2012 à 11:55 +0530, Ajay Garg a écrit : >> > > Hi all. >> > > >> > > I have wriiten a basic python program using telepathy-salut, >> > wherein >> > > buddies are able to see each other coming offline/online on >> > a >> > > telepathy-salut connection. >> > > >> > > >> > > Following interfaces/signals are being used :: >> > > >> > > a) >> > > >> > >> http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Method:GetMembers >> > >> > > This interface is used to get the list (one-time, at >> > startup) of the >> > > buddies, when a machine connects to telepathy-salut >> > connection >> > > (obviously, one singular time). >> > >> > >> > That's the old way of getting the list of contacts, this >> > interface is >> > easier to use: >> > >> http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html >> > >> > > (iii) >> > > M1 disconnects from telepathy-salut. >> > > M2 goes offline from M1's context (as obviously expected). >> > > HOWEVER, M1 IS STILL SHOWN TO BE ONLINE IN M2'S CONTEXT >> > (something not >> > > expected). >> > > >> > >> > >> > I think what happens is the contact is removed from your >> > roster, but his >> > presence may not get updated to offline, since the contact is >> > not >> > supposed to exist anymore. >> > >> > You should listen to that signal to add/remove contacts from >> > the >> > context: >> > >> http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html#Signal:ContactsChangedWithID >> > >> > >> > You should also consider using telepathy-glib or telepathy-qt >> > helper >> > libraries instead of listening to dbus directly. Those 2 >> > libraries >> > provides much easier high level API. >> > >> > Regards, >> > Xavier Claessens. >> > >> > >> >> >> >
_______________________________________________ telepathy mailing list telepathy@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/telepathy