>From BlueZ 5.0 , dbus API org.bluez.Serial has been removed and others have >changed. So add option "--disable-bluez5" for applet to get bluetooth DUN (Dial-Up Networking) support on BlueZ 4.X and remove it when using BlueZ 5.x.(Default is disable Bluez 5)
Signed-off-by: Cho, Yu-Chen <[email protected]> --- configure.ac | 14 ++++++++++++++ src/gnome-bluetooth/bt-widget.c | 6 ++++++ src/gnome-bluetooth/nma-bt-device.c | 8 ++++++++ 3 files changed, 28 insertions(+) diff --git a/configure.ac b/configure.ac index d6ca9e6..857f0ca 100644 --- a/configure.ac +++ b/configure.ac @@ -128,6 +128,20 @@ AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) GTK_CFLAGS="$GTK_CFLAGS -DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4" + +#### BlueZ 5 support #### + +AC_ARG_WITH([bluz5], + AS_HELP_STRING([--enable-bluez5|--disable-bluez5], [Enable Bluez 5 support]), + enable_bluez5="$withval") + +if (test "x$enable_bluez5" == "xyes");then + AC_DEFINE([HAVE_BLUEZ_5], 1, [Enable blueZ 5 support]) +else + AC_DEFINE([HAVE_BLUEZ_5], 0, [Disable blueZ 5 support]) +fi +AC_SUBST(HAVE_BLUEZ5) + dnl Check for gnome-bluetooth AC_ARG_WITH([bluetooth], AS_HELP_STRING([--with-bluetooth|--without-bluetooth], [Enable Bluetooth support]), diff --git a/src/gnome-bluetooth/bt-widget.c b/src/gnome-bluetooth/bt-widget.c index 3195d6f..1553582 100644 --- a/src/gnome-bluetooth/bt-widget.c +++ b/src/gnome-bluetooth/bt-widget.c @@ -108,8 +108,10 @@ get_capabilities (const char *bdaddr, g_message ("has_config_widget %s %s", bdaddr, uuids[i]); if (g_str_equal (uuids[i], "NAP")) *pan = TRUE; +#if HAVE_BLUEZ_5 == 0 if (g_str_equal (uuids[i], "DialupNetworking")) *dun = TRUE; +#endif } } @@ -170,6 +172,7 @@ pan_button_toggled (GtkToggleButton *button, WidgetInfo *info) nma_bt_device_set_pan_enabled (info->device, gtk_toggle_button_get_active (button)); } +#if HAVE_BLUEZ_5 == 0 static void dun_button_toggled (GtkToggleButton *button, WidgetInfo *info) { @@ -184,6 +187,7 @@ dun_button_toggled (GtkToggleButton *button, WidgetInfo *info) nma_bt_device_set_dun_enabled (info->device, gtk_toggle_button_get_active (button)); } +#endif static void widget_info_destroy (gpointer data) @@ -446,6 +450,7 @@ get_config_widgets (const char *bdaddr, const char **uuids) gtk_widget_set_sensitive (info->pan_button, !busy); } +#if HAVE_BLUEZ_5 == 0 if (dun) { info->dun_button = gtk_check_button_new_with_label (_("Access the Internet using your mobile phone (DUN)")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (info->dun_button), @@ -454,6 +459,7 @@ get_config_widgets (const char *bdaddr, const char **uuids) gtk_box_pack_start (GTK_BOX (vbox), info->dun_button, FALSE, TRUE, 6); set_dun_button_sensitive (info, !busy); } +#endif hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 6); diff --git a/src/gnome-bluetooth/nma-bt-device.c b/src/gnome-bluetooth/nma-bt-device.c index 3a33dce..a42f066 100644 --- a/src/gnome-bluetooth/nma-bt-device.c +++ b/src/gnome-bluetooth/nma-bt-device.c @@ -108,11 +108,19 @@ static void _set_dun_enabled (NmaBtDevice *device, gboolean enabled); #define BLUEZ_SERVICE "org.bluez" #define BLUEZ_MANAGER_PATH "/" + +#if HAVE_BLUEZ_5 == 1 +#define BLUEZ_ADAPTER_INTERFACE "org.bluez.Adapter1" +#define BLUEZ_DEVICE_INTERFACE "org.bluez.Device1" +#define BLUEZ_NETWORK_INTERFACE "org.bluez.Network1" +#define BLUEZ_SERIAL_INTERFACE "" +#else #define BLUEZ_MANAGER_INTERFACE "org.bluez.Manager" #define BLUEZ_ADAPTER_INTERFACE "org.bluez.Adapter" #define BLUEZ_DEVICE_INTERFACE "org.bluez.Device" #define BLUEZ_SERIAL_INTERFACE "org.bluez.Serial" #define BLUEZ_NETWORK_INTERFACE "org.bluez.Network" +#endif #define MM_SERVICE "org.freedesktop.ModemManager" #define MM_PATH "/org/freedesktop/ModemManager" -- 1.8.4.5 _______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
