[Telepathy] A query regarding Presences-update
Ajay Garg
ajaygargnsit at gmail.com
Thu Jun 7 04:33:03 PDT 2012
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/20120607/a1150121/attachment.htm>
More information about the telepathy
mailing list