dbus: Introduce dbus wrapper around GIO GDBus d-bus implementation for-master-v1/gio-gdbus
authorChris Kühl <chrisk@openismus.com>
Sat, 1 Oct 2011 05:24:57 +0000 (07:24 +0200)
committerChris Kühl <chrisk@openismus.com>
Wed, 16 Nov 2011 10:06:45 +0000 (11:06 +0100)
commitb7c7577b7041407c30153273e2086b1aee4230c3
treebdc61d040f8c272d3d2d15e30f499b33c859ac91
parentf53ae35a365067627e53f6dbf6e0ceb8250373bd
dbus: Introduce dbus wrapper around GIO GDBus d-bus implementation

Background: Prior to this patch a C++ wrapper around Bluez gdbus, a
convienience wrapper around the low-level libdbus, was used by
syncevo-dbus-server. This patch introduces a second C++ wrapper around
the GIO GDBus implementation. The reason for introducing this second
wrapper is to move away from using the in-tree copy of Bluez gdbus and
towards a more well-maintained d-bus implementation. Also, libdbus was
not designed to be thread-safe whereas GIO GDBus was.

The GIO GDBus wrapper retains the same public api as the first
one. This means the consumers of this wrapper (syncevo-dbus-server,
for example) have remained almost completely untouched. The only
exceptions are in the few case where libdbus objects where used
directly by the consuming class.

The choice of which wrapper is determined at configure time. The
option can be explicitly set using the --with-gio-gdbus and
--without-gio-gdbus flags or, if no flag is given, an adequate version
of GIO is search for. If found, the GIO GDBus wrapper is chosen.
20 files changed:
configure.ac
src/dbus/server/bluez-manager.cpp
src/dbus/server/bluez-manager.h
src/dbus/server/connman-client.cpp
src/dbus/server/connman-client.h
src/dbus/server/exceptions.cpp
src/dbus/server/exceptions.h
src/dbus/server/main.cpp
src/dbus/server/network-manager-client.cpp
src/dbus/server/network-manager-client.h
src/dbus/server/server.am
src/gdbus/gdbus-cxx-bridge.cpp
src/gdbus/gdbus-cxx-bridge.h
src/gdbus/test/example.cpp
src/gdbusxx/gdbus-cxx-bridge.cpp
src/gdbusxx/gdbus-cxx-bridge.h
src/gdbusxx/gdbusxx.am
src/gdbusxx/test/example.cpp
src/syncevolution.cpp
test/test-dbus.py