diff options
-rw-r--r-- | avahi-daemon/dbus-protocol.c | 17 | ||||
-rw-r--r-- | configure.ac | 6 |
2 files changed, 23 insertions, 0 deletions
diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c index 5017061..242ad59 100644 --- a/avahi-daemon/dbus-protocol.c +++ b/avahi-daemon/dbus-protocol.c @@ -20,6 +20,11 @@ ***/ #include <glib.h> + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + #define DBUS_API_SUBJECT_TO_CHANGE #include <dbus/dbus.h> #include <dbus/dbus-glib-lowlevel.h> @@ -67,7 +72,11 @@ signal_filter (DBusConnection *conn, DBusMessage *message, void *user_data) dbus_message_get_member (message)); if (dbus_message_is_signal (message, +#ifdef DBUS_USE_NEW_API + DBUS_INTERFACE_LOCAL, +#else DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL, +#endif "Disconnected")) { /* No, we shouldn't quit, but until we get somewhere @@ -81,7 +90,11 @@ signal_filter (DBusConnection *conn, DBusMessage *message, void *user_data) { return do_register (conn, message); } else if (dbus_message_is_signal (message, +#ifdef DBUS_USE_NEW_API + DBUS_INTERFACE_DBUS, +#else DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS, +#endif "ServiceAcquired")) { char *name; @@ -128,7 +141,11 @@ dbus_protocol_setup (GMainLoop *loop) dbus_connection_setup_with_g_main (bus, NULL); dbus_connection_set_exit_on_disconnect (bus, FALSE); +#ifdef DBUS_USE_NEW_API + dbus_bus_request_name (bus, DBUS_SERVICE_AVAHI, 0, &error); +#else dbus_bus_acquire_service (bus, DBUS_SERVICE_AVAHI, 0, &error); +#endif if (dbus_error_is_set (&error)) { diff --git a/configure.ac b/configure.ac index c9e2de5..e0f35cf 100644 --- a/configure.ac +++ b/configure.ac @@ -104,10 +104,16 @@ AC_ARG_ENABLE(dbus, esac], [ENABLE_DBUS=yes]) dnl Default value +AC_DEFINE(ENABLE_DBUS, 1, [Whether to use DBUS or not]) + if test "x$ENABLE_DBUS" = "xyes"; then PKG_CHECK_MODULES(DBUS, [ dbus-glib-1 >= 0.23]) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) + + if pkg-config dbus-1 --atleast-version=0.30 ; then + AC_DEFINE(DBUS_USE_NEW_API, 1, [Whether to use the new API for DBUS 0.30]) + fi fi AM_CONDITIONAL(ENABLE_DBUS, test "x$ENABLE_DBUS" = "xyes") |