[Bug 46835] [next] generate a tp-glib-lowlevel library

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 1 19:15:33 CET 2012


https://bugs.freedesktop.org/show_bug.cgi?id=46835

Simon McVittie <simon.mcvittie at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|telepathy-bugs at lists.freede |simon.mcvittie at collabora.co
                   |sktop.org                   |.uk

--- Comment #2 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2012-03-01 10:15:33 PST ---
(In reply to comment #0)
> Simon, fancy doing this? You will probably actually get it right, after all.

Sure, taking this bug.

I did try already, but ended up with Bug #46523 two or three layers of yak
shaving later.

I think we're going to end up with something like this:

- tp-glib-core: minimal TpProxy infrastructure, etc.; long-term stable
  (breaks every few years)

- tp-glib-codegen (or -lowlevel or something): client, service codegen;
  breaks ABI in the development branch just after some/all 6-monthly
  stable branches, i.e. every 1-2 release cycles; cannot contain
  GTypes or other things that are flat namespaces, since those would defeat
  symbol versioning

- tp-glib: the high-level library; as stable as -core

I talked about the split briefly with andrunko the other day.

Errors, enums, flags, GTypes should be in either -core or the high-level
library. In tp-qt they have to go in -core because the codegen needs them; in
tp-glib I think we can get away with having them be high-level-library stuff.
Rationale: they're flat global namespaces within im.telepathy1, so we're not
going to break them unless we move to telepathy2. (We might end up with some
horribly ugly type names like Foo_Thing3_Map after a while, though.)

Interface names and everything that embeds them (contact attr tokens,
properties) should be in tp-glib-codegen. Rationale: they break exactly as
often as the interfaces themselves.

If we move from dbus-glib to GDBus before 1.0, that will break all three
libraries and we'll just have to live with it, but after doing that, we might
possibly be able to flatten -core into the main library, and make
tp-glib-codegen only depend on GIO.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list