dbus interoperability

Simon McVittie simon.mcvittie at collabora.co.uk
Mon May 18 02:34:21 PDT 2015


On 18/05/15 08:52, Thiago Macieira wrote:
> On Monday 18 May 2015 08:13:45 Mário Costa wrote:
>> org.freedesktop.DBus.GLib.Async
> 
> This is a GLib-specific annotation. It should not affect other languages. You're 
> free to ignore this one (in fact, you should ignore it).

More specifically, this annotation is specific to dbus-glib, the
deprecated "language binding" for libdbus into GObject.

The newer GDBus module in GLib, a compatible/interoperable
reimplementation[1] which is now the recommended way to do D-Bus in a
GLib/GObject application, ignores that annotation entirely.

That annotation never made a great deal of sense in any case: D-Bus is a
message-passing protocol, so every D-Bus method is inherently
asynchronous, although bindings often provide a "pseudo-synchronous"
interface which blocks waiting for a reply[2].

Annotations are meant to be optional: it should always be valid for a
language binding or implementation to ignore annotations that it doesn't
understand.

    S

[1] there are two broad classes of D-Bus library: wrappers around the
reference implementation (libdbus), such as QtDBus, dbus-glib, dbus-java
1.x and dbus-python; and reimplementations that do not use libdbus, such
as GDBus, dbus-sharp (ndesk-dbus) and dbus-java 2.x
[2] http://smcv.pseudorandom.co.uk/2008/11/nonblocking/

-- 
Simon McVittie
Collabora Ltd. <http://www.collabora.com/>



More information about the dbus mailing list