[PATCH BlueZ] main.conf: Add option to enable experimental features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

The adds options Experimental which is the equivalent to
-E/--experimental command line option.
---
 src/btd.h     |  1 +
 src/main.c    | 13 ++++++++++---
 src/main.conf |  4 ++++
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/btd.h b/src/btd.h
index a3247e4fd..6af54a99a 100644
--- a/src/btd.h
+++ b/src/btd.h
@@ -105,6 +105,7 @@ struct btd_opts {
 	gboolean	debug_keys;
 	gboolean	fast_conn;
 	gboolean	refresh_discovery;
+	gboolean	experimental;
 
 	uint16_t	did_source;
 	uint16_t	did_vendor;
diff --git a/src/main.c b/src/main.c
index c32bda7d4..c82812201 100644
--- a/src/main.c
+++ b/src/main.c
@@ -715,6 +715,13 @@ static void parse_config(GKeyFile *config)
 	else
 		btd_opts.refresh_discovery = boolean;
 
+	boolean = g_key_file_get_boolean(config, "General",
+						"Experimental", &err);
+	if (err)
+		g_clear_error(&err);
+	else
+		btd_opts.experimental = boolean;
+
 	str = g_key_file_get_string(config, "GATT", "Cache", &err);
 	if (err) {
 		DBG("%s", err->message);
@@ -812,6 +819,7 @@ static void init_defaults(void)
 	btd_opts.name_resolv = TRUE;
 	btd_opts.debug_keys = FALSE;
 	btd_opts.refresh_discovery = TRUE;
+	btd_opts.experimental = false;
 
 	btd_opts.defaults.num_entries = 0;
 	btd_opts.defaults.br.page_scan_type = 0xFFFF;
@@ -891,7 +899,6 @@ static char *option_configfile = NULL;
 static gboolean option_compat = FALSE;
 static gboolean option_detach = TRUE;
 static gboolean option_version = FALSE;
-static gboolean option_experimental = FALSE;
 
 static void free_options(void)
 {
@@ -975,7 +982,7 @@ static GOptionEntry options[] = {
 			"Specify an explicit path to the config file", "FILE"},
 	{ "compat", 'C', 0, G_OPTION_ARG_NONE, &option_compat,
 				"Provide deprecated command line interfaces" },
-	{ "experimental", 'E', 0, G_OPTION_ARG_NONE, &option_experimental,
+	{ "experimental", 'E', 0, G_OPTION_ARG_NONE, &btd_opts.experimental,
 				"Enable experimental interfaces" },
 	{ "nodetach", 'n', G_OPTION_FLAG_REVERSE,
 				G_OPTION_ARG_NONE, &option_detach,
@@ -1042,7 +1049,7 @@ int main(int argc, char *argv[])
 		exit(1);
 	}
 
-	if (option_experimental)
+	if (btd_opts.experimental)
 		gdbus_flags = G_DBUS_FLAG_ENABLE_EXPERIMENTAL;
 
 	g_dbus_set_flags(gdbus_flags);
diff --git a/src/main.conf b/src/main.conf
index f47cab46d..bf8a86080 100644
--- a/src/main.conf
+++ b/src/main.conf
@@ -86,6 +86,10 @@
 # profile is connected. Defaults to true.
 #RefreshDiscovery = true
 
+# Enables experimental features and interfaces.
+# Defaults to false.
+#Experimental = false
+
 [BR]
 # The following values are used to load default adapter parameters for BR/EDR.
 # BlueZ loads the values into the kernel before the adapter is powered if the
-- 
2.30.2




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux