The telepathy-glib library is a GObject-based C binding for the Telepathy D-Bus API. It may be used by client applications. It is also used by connection managers, because it containts code common to GLib-based connection managers such as Gabble, Idle, Sofia-Sip and Salut.
git://git.collabora.co.uk/git/telepathy-glib.git git+ssh://git.collabora.co.uk/git/telepathy-glib.git
Comprehensive API documentation
What's provided
For client authors
TpConnection — an asynchronous interface to Telepathy connections
TpContact — an object representing a Telepathy contact
TpChannel — an asynchronous interface to Telepathy channels
TpConnectionManager — an asynchronous interface to Telepathy connection managers
TpProxy — an base class for extensible D-Bus client objects, used by TpConnection, TpChannel and TpConnectionManager
For connection manager authors
TpBaseConnectionManager — a connection manager base class (implements Telepathy.ConnectionManager, you subclass it and specify a protocol and its arguments, and it will handle the listing/argument validation/connection object creation, etc)
TpBaseConnection — a connection base class (implements Telepathy.Connection, subclass it to teach it how to connect to the given protocol and which factories to make)
TpChannelManagerIface — a channel manager interface (used by the connection to see if any channel managers can service an incoming channel request)
handle repositories (provide it with validation/normalisation functions, and off you go...): TpHandleRepoIface, TpDynamicHandleRepo, TpStaticHandleRepo
TpPropertiesMixin — a properties mixin
TpGroupMixin — a groups mixin
TpTextMixin — a text mixin - ported from Gabble
For everyone
- miscellaneous constants
- error domain and enumeration
- debug and other shared utilities (util.*, handles.*)
Things to add
- a channel base class (implements Telepathy.Channel, you subclass it w/ mixins to implement certain channel types) - deferred for the moment
- client-side code, similar to (and obsoleting) libtelepathy - deferred for the moment since we have libtelepathy
Dependencies
Telepathy-GLib depends on the last release of the Glib bindings (0.72), since then implementing these mixins as interfaces & doing inheritance & adding in interfaces becomes a lot more practical. Telepathy-GLib looks for D-Bus glue data on all of the GInterfaces and superclasses a given object has, so we no longer have to produce one .xml file for e.g. GabbleConnection and the particular combination of interfaces it has.
Bugs
Submit a telepathy-glib bug (A component in the telepathy bugzilla component)

