[Telepathy] A query regarding Presences-update

Ajay Garg ajaygargnsit at gmail.com
Sun Jun 17 01:41:13 PDT 2012


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 <ajaygargnsit at 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 <xclaesse at 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 at 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 <xclaesse at 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.
>> >
>> >
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/telepathy/attachments/20120617/f6079dce/attachment.html>


More information about the telepathy mailing list