[Telepathy] tp-glib client API

Xavier Claessens xclaesse at gmail.com
Fri Dec 7 06:45:22 PST 2007


Hi hackers,

I opened a git branch for Empathy[1] to make use of the new client API
in telepathy-glib. Once it get ready we'll be able to drop libtelepathy
dependency!

The API seems far easier to use than libtp's, I think empathy will be
more robust by using it. However I think there is one thing that could
be better: Signal callback signature. Telepathy spec often has GetFoo
+FooChanged methods and signals, when a client starts it will call
GetFoo once and get value updated using FooChanged signal. Empathy often
do something like that:

foo_changed_cb() {...}
get_foo_cb(args) {foo_changed_cb(args);}

That worked pretty well with libtp API because args in GetFoo and
FooChanged were almost the same. As you can see in empathy git branch in
tp_group_members_changed_signal_cb() tp-glib gives some arguments in a
TpProxySignalConnection structure in FooChangedCallback so GetFoo can't
call FooChangedCallback anymore.

Would be great to get that fixed.

Otherwise it seems to work pretty well, if you want to test you have to
get tp-glib HEAD and apply a patch [2] to fix warnings.

Have a nice day.
Xavier Claessens.

[1] http://git.collabora.co.uk/?p=empathy.git;a=shortlog;h=tpGlibClient
[2] https://bugs.freedesktop.org/attachment.cgi?id=12994&action=view



More information about the Telepathy mailing list