Reste GATT data on GATT profile cleanup 54/134054/1
authorAtul Rai <a.rai@samsung.com>
Tue, 13 Jun 2017 10:33:21 +0000 (16:03 +0530)
committerAtul Rai <a.rai@samsung.com>
Tue, 13 Jun 2017 10:47:19 +0000 (16:17 +0530)
Change-Id: I837851a7f2dfdc81107ae807663cd925c3994448
Signed-off-by: Atul Rai <a.rai@samsung.com>
bt-service-adaptation/services/adapter/bt-service-core-adapter.c
bt-service-adaptation/services/gatt/bt-service-gatt.c

index ada191e..2e91419 100644 (file)
@@ -782,6 +782,7 @@ int _bt_cleanup_profiles(void)
        //_bt_audio_deinitialize(BT_AUDIO_ALL_MODULE);
 #endif
        _bt_hdp_deinit();
+       _bt_gatt_deinit();
 
        return BLUETOOTH_ERROR_NONE;
 }
@@ -1183,7 +1184,7 @@ static int __bt_adapter_state_handle_request(gboolean enable)
 
                } else {
                        result = adapter_enable();
-                       if (result != OAL_STATUS_SUCCESS) {
+                       if (result != OAL_STATUS_SUCCESS && result != OAL_STATUS_PENDING) {
                                BT_ERR("adapter_enable failed: [%d]", result);
                                adapter_disable();
                                result = BLUETOOTH_ERROR_INTERNAL;
@@ -1203,7 +1204,7 @@ static int __bt_adapter_state_handle_request(gboolean enable)
                        return BLUETOOTH_ERROR_DEVICE_NOT_ENABLED;
                } else {
                        result = adapter_enable();
-                       if (result != OAL_STATUS_SUCCESS) {
+                       if (result != OAL_STATUS_SUCCESS && result != OAL_STATUS_PENDING) {
                                BT_ERR("adapter_enable failed: [%d]", result);
                                adapter_disable();
                                result = BLUETOOTH_ERROR_INTERNAL;
index 96ddf3f..da4044c 100644 (file)
@@ -145,8 +145,6 @@ void _bt_check_adv_app_termination(const char *name)
        int k;
        int apps[MAX_APPS_SUPPORTED];
 
-       BT_DBG("Adv app name [%s]", name);
-
        ret_if(NULL == name);
 
        memset(&apps, -1, sizeof(apps));
@@ -183,7 +181,6 @@ void _bt_check_adv_app_termination(const char *name)
                        __bt_do_unregister_server_instance(k);
                }
        }
-       BT_DBG("-");
 }
 
 static int __bt_gatt_send_indication_to_all_connected_clients(bluetooth_gatt_att_data_t *data,
@@ -261,16 +258,38 @@ int _bt_gatt_init(void)
        return BLUETOOTH_ERROR_NONE;
 }
 
+static void __bt_service_reset_gatt_data()
+{
+       int k;
+
+       BT_INFO("Rest numapp");
+
+       /* Reset data */
+       for (k = 1; k < MAX_APPS_SUPPORTED; k++) {
+                       numapps[k].is_initialized = 0;
+                       numapps[k].instance_id = -1;
+                       numapps[k].adv_handle = 0;
+                       numapps[k].adv_instance = -1;
+                       memset(numapps[k].sender, 0x00, sizeof(numapps[k].sender));
+                       memset(numapps[k].uuid, 0x00, sizeof(numapps[k].uuid));
+                       memset(numapps[k].adv_data.data, 0x00, BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX);
+                       memset(numapps[k].scan_rsp.data, 0x00, BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX);
+                       numapps[k].adv_data_len = 0;
+                       numapps[k].scan_rsp_len = 0;
+       }
+}
+
 void _bt_gatt_deinit(void)
 {
-       BT_DBG("+");
+       BT_INFO("GATT deinit");
 
        if (OAL_STATUS_SUCCESS != gatt_disable())
                BT_ERR("gatt deinit failed");
 
        /* Un-register gatt event handler */
        _bt_service_unregister_event_handler_callback(BT_GATT_MODULE);
-       BT_DBG("-");
+
+       __bt_service_reset_gatt_data();
 }
 
 void _bt_update_adv_handle(const char *sender, int adv_handle)