[Telepathy] Last call for API/ABI criticism - libtelepathy-glib

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Apr 6 11:06:34 PDT 2007

Since the beginning of the year I've been working on pulling out a
connection manager library from Gabble. At the moment it's only built as
a static library, which is used by Gabble itself, all public releases of
telepathy-sofiasip, and the unreleased development versions of Idle and Salut.

I think it's ready to be a shared library - I want to do one more static-only
release to get the ABI good before I have to freeze it, but after that I
want to make the first telepathy-glib shared library release next week.

So, if you have problems with its API, speak NOW. I'm particularly
interested in any further comments from Sjoerd Simons (Salut), Olli Salli
(Idle) and Mikhail Zabluev (telepathy-sofiasip), but comments from
anyone interested are welcome.

I've put the API documentation online here:

and the corresponding source tree is available with:
	darcs get http://projects.collabora.co.uk/~smcv/darcs/gabble-smcv-misc

(the code in our main Darcs repository is the same, it's just missing some
documentation and build tweaks).

Known API/ABI issues are:

* Public class structures, and possibly object structures too, should
  probably have some spare function and object pointers to avoid ABI
  changes for as long as possible

* An API transition is in progress in TpGroupMixin - this will be
  finished by the time we do the first shared library release.
  _TP_GROUP_MIXIN_OBJECT will be replaced by GObject and
  _TP_GROUP_MIXIN_OBJECT_CLASS by GObjectClass. See the source code for
  the gory details!

* For the group mixin we need to think about how renaming yourself
  (e.g. in an XMPP MUC) ought to work. This will probably involve
  Telepathy specification changes, which we need to think about now so
  telepathy-glib can be forwards-compatible.

Long-term, we plan to incorporate client functionality into
libtelepathy-glib to make it the only GLib Telepathy binding
(obsoleting libtelepathy), but since libtelepathy already exists, this isn't
a priority right now.

Thanks in advance for any comments you can offer,

More information about the Telepathy mailing list