main: add configurable refresh_discovery parameter
authorArchie Pusaka <apusaka@chromium.org>
Tue, 18 Aug 2020 07:34:10 +0000 (15:34 +0800)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 12 Apr 2021 09:00:50 +0000 (14:30 +0530)
This is to configure the default behavior of issuing SDP query
to update the services upon profile connection.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
src/device.c
src/hcid.h
src/main.c
src/main.conf

index fc1cff52f09289993945378bc7983b5df91c61a4..776cacda62ffd989a80ae0037d48dff1fbe67c5f 100644 (file)
@@ -5950,7 +5950,7 @@ static struct btd_device *device_new(struct btd_adapter *adapter,
        device->db_id = gatt_db_register(device->db, gatt_service_added,
                                        gatt_service_removed, device, NULL);
 
-       device->refresh_discovery = true;
+       device->refresh_discovery = main_opts.refresh_discovery;
 
        return btd_device_ref(device);
 }
index bd90ef8e1d7a53b3af153f22f4f15829e536a5f2..856890bc2ba0c5bba86fab48aea8753d6af2c84d 100755 (executable)
@@ -100,6 +100,7 @@ struct main_opts {
        gboolean        name_resolv;
        gboolean        debug_keys;
        gboolean        fast_conn;
+       gboolean        refresh_discovery;
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
        gboolean        le_privacy;
        char            *pin_code;
index 357a50da009b72cf3aee557a1f3b43d5d170e144..c212486b007543c750ec6b1ed3c9195450f21acc 100755 (executable)
@@ -630,6 +630,14 @@ static void parse_config(GKeyFile *config)
                g_clear_error(&err);
        else
                main_opts.fast_conn = boolean;
+
+       boolean = g_key_file_get_boolean(config, "General",
+                                               "RefreshDiscovery", &err);
+       if (err)
+               g_clear_error(&err);
+       else
+               main_opts.refresh_discovery = boolean;
+
 #ifdef TIZEN_FEATURE_BLUEZ_MODIFY
        boolean = g_key_file_get_boolean(config, "General",
                                                "EnableLEPrivacy", &err);
@@ -718,6 +726,8 @@ static void init_defaults(void)
        main_opts.reverse_discovery = TRUE;
        main_opts.name_resolv = TRUE;
        main_opts.debug_keys = FALSE;
+       main_opts.refresh_discovery = TRUE;
+
        main_opts.default_params.num_entries = 0;
        main_opts.default_params.br_page_scan_type = 0xFFFF;
        main_opts.default_params.br_scan_type = 0xFFFF;
index 215b2d51d011d4bf75aa09ce64610919c49250b8..0ae31cb58175a9cbb008955ee93d6ed26775c8fb 100755 (executable)
 # 0 = disable timer, i.e. never keep temporary devices
 #TemporaryTimeout = 30
 
+# Enables the device to issue an SDP request to update known services when
+# profile is connected. Defaults to true.
+#RefreshDiscovery = true
+
 [Controller]
 # The following values are used to load default adapter parameters.  BlueZ loads
 # the values into the kernel before the adapter is powered if the kernel