[PATCH] network-manager-applet Add rules for BlueZ 5 support
- From: "Cho, Yu-Chen" <acho suse com>
- To: dcbw redhat com
- Cc: networkmanager-list gnome org
- Subject: [PATCH] network-manager-applet Add rules for BlueZ 5 support
- Date: Wed, 6 Aug 2014 16:04:49 +0800
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 <acho suse com>
---
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]