Clean up the common functions 79/208579/1
authorDoHyun Pyun <dh79.pyun@samsung.com>
Wed, 26 Jun 2019 06:36:52 +0000 (15:36 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Wed, 26 Jun 2019 06:36:52 +0000 (15:36 +0900)
Change-Id: Ib7483bd62d4a890644b8119df5a6fe5176e9a1ae
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
include/bluetooth_private.h
src/bluetooth-adapter.c
src/bluetooth-common.c
src/bluetooth-gatt.c

index 47c562d7421d22b1294e4d3eff4cc33a737a0599..0de81e42e262d38a31915a38210358c3145065c7 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <dlog.h>
 #include <stdbool.h>
+#include <stdio.h>
 #include <bluetooth-api.h>
 #include <bluetooth-audio-api.h>
 #include <bluetooth-telephony-api.h>
index a969d6657cd13575d8e40bce1f325e02de11fd6d..25b26ed688fe7b2711af39225036562646782194 100644 (file)
@@ -1735,7 +1735,6 @@ int bt_adapter_le_start_scan(bt_adapter_le_scan_result_cb cb, void *user_data)
        BT_CHECK_INIT_STATUS();
        BT_CHECK_INPUT_PARAMETER(cb);
 
-       _bt_le_adapter_init();
        _bt_set_cb(BT_EVENT_LE_SCAN_RESULT_UPDATED, cb, user_data);
 
        error_code = _bt_get_error_code(bluetooth_start_le_discovery());
@@ -1760,7 +1759,6 @@ int bt_adapter_le_stop_scan(void)
        }
 
        _bt_unset_cb(BT_EVENT_LE_SCAN_RESULT_UPDATED);
-       _bt_le_adapter_deinit();
 
        return error_code;
 }
index a3e5b5c1030d22d7174eb7aaedeeac45078b3d5c..0592c714a29f4e7edf804d49859d67d0de0c663e 100644 (file)
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
-#include <stdio.h>
-#include <stdbool.h>
 #include <bluetooth-api.h>
 
 #include "bluetooth.h"
 #include "bluetooth_internal.h"
 #include "bluetooth_extension.h"
 #include "bluetooth_private.h"
-#include "bluetooth-media-control.h"
-#include "bluetooth-telephony-api.h"
 
 static bool is_initialized = false;
-static bool is_le_initialized = false;
+
+/* These structs will be used in later */
 
 static bt_event_sig_event_slot_s bt_event_slot_container[BT_EVENT_MAX] = { {NULL, NULL}, };
 
+
 typedef struct {
        int err;
        char *str;
@@ -67,266 +65,26 @@ static bt_err2str_table_t err2str[] = {
        { 0, "UNKNOWN" }
 };
 
-typedef struct {
-       int origin_err;
-       int public_err;
-} bt_err2pub_table_t;
-
-static bt_err2pub_table_t err2pub[] = {
-       { BLUETOOTH_ERROR_NONE, BT_ERROR_NONE },
-       { BLUETOOTH_ERROR_INVALID_DATA, BT_ERROR_INVALID_PARAMETER },
-       { BLUETOOTH_ERROR_INVALID_PARAM, BT_ERROR_INVALID_PARAMETER },
-       { BLUETOOTH_ERROR_NOT_CONNECTED, BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED },
-       { BLUETOOTH_ERROR_NOT_SUPPORT, BT_ERROR_NOT_SUPPORTED },
-       { BLUETOOTH_ERROR_MEMORY_ALLOCATION, BT_ERROR_OUT_OF_MEMORY },
-       { BLUETOOTH_ERROR_OUT_OF_MEMORY, BT_ERROR_OUT_OF_MEMORY },
-       { BLUETOOTH_ERROR_TIMEOUT, BT_ERROR_TIMED_OUT },
-       { BLUETOOTH_ERROR_DEVICE_NOT_ENABLED, BT_ERROR_NOT_ENABLED },
-       { BLUETOOTH_ERROR_DEVICE_ALREADY_ENABLED, BT_ERROR_ALREADY_DONE },
-       { BLUETOOTH_ERROR_ALREADY_INITIALIZED, BT_ERROR_ALREADY_DONE },
-       { BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST, BT_ERROR_ALREADY_DONE },
-       { BLUETOOTH_ERROR_ALREADY_DEACTIVATED, BT_ERROR_ALREADY_DONE },
-       { BLUETOOTH_ERROR_ALREADY_CONNECT, BT_ERROR_ALREADY_DONE },
-       { BLUETOOTH_ERROR_NOT_PAIRED, BT_ERROR_REMOTE_DEVICE_NOT_BONDED },
-       { BLUETOOTH_ERROR_NOT_IN_OPERATION, BT_ERROR_NOT_IN_PROGRESS },
-       { BLUETOOTH_ERROR_IN_PROGRESS, BT_ERROR_NOW_IN_PROGRESS },
-       { BLUETOOTH_ERROR_DEVICE_BUSY, BT_ERROR_RESOURCE_BUSY },
-       { BLUETOOTH_ERROR_CANCEL, BT_ERROR_CANCELLED },
-       { BLUETOOTH_ERROR_CANCEL_BY_USER, BT_ERROR_CANCELLED },
-       { BLUETOOTH_ERROR_AUTHENTICATION_FAILED, BT_ERROR_AUTH_FAILED },
-       { BLUETOOTH_ERROR_HOST_DOWN, BT_ERROR_REMOTE_DEVICE_NOT_FOUND },
-       { BLUETOOTH_ERROR_SERVICE_SEARCH_ERROR, BT_ERROR_SERVICE_SEARCH_FAILED },
-       { BLUETOOTH_ERROR_PERMISSION_DEINED, BT_ERROR_PERMISSION_DENIED },
-       { BLUETOOTH_ERROR_SERVICE_NOT_FOUND, BT_ERROR_SERVICE_NOT_FOUND },
-       { BLUETOOTH_ERROR_NOT_INITIALIZED, BT_ERROR_NOT_INITIALIZED },
-       { BLUETOOTH_ERROR_NO_RESOURCES, BT_ERROR_QUOTA_EXCEEDED },
-       { BLUETOOTH_ERROR_AUTHENTICATION_REJECTED, BT_ERROR_AUTH_REJECTED },
-       { BLUETOOTH_ERROR_AUTHORIZATION_REJECTED, BT_ERROR_AUTHORIZATION_REJECTED },
-       { BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION, BT_ERROR_DEVICE_POLICY_RESTRICTION },
-       { BLUETOOTH_ERROR_NO_DATA, BT_ERROR_NO_DATA },
-       { BLUETOOTH_ERROR_PARING_FAILED, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_MAX_CONNECTION, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_REGISTRATION_FAILED, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_CONNECTION_BUSY, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_MAX_CLIENT, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_INVALID_CALLBACK, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_NOT_FOUND, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_INTERNAL, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_CONNECTION_ERROR, BT_ERROR_OPERATION_FAILED },
-       { BLUETOOTH_ERROR_ACCESS_DENIED, BT_ERROR_OPERATION_FAILED },
-       { 0xFF, BT_ERROR_OPERATION_FAILED }
-};
-
 typedef struct {
        int event;
        int index;
 } bt_event2index_table_t;
 
-static bt_event2index_table_t event2index[] = {
-       { BLUETOOTH_EVENT_ENABLED, BT_EVENT_STATE_CHANGED },
-       { BLUETOOTH_EVENT_DISABLED, BT_EVENT_STATE_CHANGED },
-       { BLUETOOTH_EVENT_LE_ENABLED, BT_EVENT_LE_STATE_CHANGED },
-       { BLUETOOTH_EVENT_LE_DISABLED, BT_EVENT_LE_STATE_CHANGED },
-       { BLUETOOTH_EVENT_LOCAL_NAME_CHANGED, BT_EVENT_NAME_CHANGED },
-       { BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED, BT_EVENT_VISIBILITY_MODE_CHANGED },
-       { BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED, BT_EVENT_VISIBILITY_DURATION_CHANGED },
-       { BLUETOOTH_EVENT_DISCOVERY_STARTED, BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED },
-       { BLUETOOTH_EVENT_DISCOVERY_FINISHED, BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED },
-       { BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED, BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED },
-       { BLUETOOTH_EVENT_BONDING_FINISHED, BT_EVENT_BOND_CREATED },
-       { BLUETOOTH_EVENT_BONDED_DEVICE_REMOVED, BT_EVENT_BOND_DESTROYED },
-       { BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY, BT_EVENT_AUTHENTICATION_REQUEST },
-       { BLUETOOTH_EVENT_PASSKEY_REQUEST,  BT_EVENT_AUTHENTICATION_REQUEST},
-       { BLUETOOTH_EVENT_PIN_REQUEST, BT_EVENT_AUTHENTICATION_REQUEST },
-       { BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST, BT_EVENT_AUTHENTICATION_REQUEST },
-       { BLUETOOTH_EVENT_DEVICE_AUTHORIZED, BT_EVENT_AUTHORIZATION_CHANGED },
-       { BLUETOOTH_EVENT_DEVICE_UNAUTHORIZED, BT_EVENT_AUTHORIZATION_CHANGED },
-       { BLUETOOTH_EVENT_DEVICE_CONNECTED, BT_EVENT_DEVICE_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_DEVICE_DISCONNECTED, BT_EVENT_DEVICE_CONNECTION_STATUS },
-#ifdef TIZEN_GATT_CLIENT
-       { BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_GATT_SERVER_CONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
-#else
-       { BLUETOOTH_EVENT_GATT_CONNECTED, BT_EVENT_GATT_CONNECTION_STATUS; },
-       { BLUETOOTH_EVENT_GATT_DISCONNECTED, BT_EVENT_GATT_CONNECTION_STATUS; },
-#endif
-       { BLUETOOTH_EVENT_SERVICE_SEARCHED, BT_EVENT_SERVICE_SEARCHED },
-       { BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED, BT_EVENT_DATA_RECEIVED },
-       { BLUETOOTH_EVENT_RFCOMM_CONNECTED, BT_EVENT_CONNECTION_STATE_CHANGED },
-       { BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, BT_EVENT_CONNECTION_STATE_CHANGED },
-       { BLUETOOTH_EVENT_RFCOMM_AUTHORIZE, BT_EVENT_RFCOMM_CONNECTION_REQUESTED },
-       { BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE, BT_EVENT_OPP_CONNECTION_REQUESTED },
-       { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE, BT_EVENT_OPP_PUSH_REQUESTED },
-       { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED, BT_EVENT_OPP_SERVER_TRANSFER_PROGRESS },
-       { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS, BT_EVENT_OPP_SERVER_TRANSFER_PROGRESS },
-       { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED, BT_EVENT_OPP_SERVER_TRANSFER_FINISHED },
-       { BLUETOOTH_EVENT_OPC_CONNECTED, BT_EVENT_OPP_CLIENT_PUSH_RESPONSED },
-       { BLUETOOTH_EVENT_OPC_TRANSFER_STARTED, BT_EVENT_OPP_CLIENT_PUSH_PROGRESS },
-       { BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS, BT_EVENT_OPP_CLIENT_PUSH_PROGRESS },
-       { BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE, BT_EVENT_OPP_CLIENT_PUSH_PROGRESS },
-       { BLUETOOTH_EVENT_OPC_DISCONNECTED, BT_EVENT_OPP_CLIENT_PUSH_FINISHED },
-       { BLUETOOTH_EVENT_MAP_LIST_FOLDERS_COMPLETE, BT_EVENT_MAP_CLIENT_LIST_FOLDERS },
-       { BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE, BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS },
-       { BLUETOOTH_EVENT_MAP_LIST_MESSAGES_COMPLETE, BT_EVENT_MAP_CLIENT_LIST_MESSAGES },
-       { BLUETOOTH_EVENT_MAP_GET_MESSAGE_COMPLETE, BT_EVENT_MAP_CLIENT_GET_MESSAGE },
-       { BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE, BT_EVENT_MAP_CLIENT_PUSH_MESSAGE },
-       { BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED, BT_EVENT_NAP_CONNECTION_STATE_CHANGED },
-       { BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED, BT_EVENT_NAP_CONNECTION_STATE_CHANGED },
-       { BLUETOOTH_EVENT_NETWORK_CONNECTED, BT_EVENT_PAN_CONNECTION_STATE_CHANGED },
-       { BLUETOOTH_EVENT_NETWORK_DISCONNECTED, BT_EVENT_PAN_CONNECTION_STATE_CHANGED },
-       { BLUETOOTH_EVENT_HDP_DATA_RECEIVED, BT_EVENT_HDP_DATA_RECEIVED },
-       { BLUETOOTH_EVENT_HDP_CONNECTED, BT_EVENT_HDP_CONNECTED },
-       { BLUETOOTH_EVENT_HDP_DISCONNECTED, BT_EVENT_HDP_DISCONNECTED },
-       { BLUETOOTH_EVENT_AG_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AG_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AG_SPEAKER_GAIN, BT_EVENT_AG_SPEAKER_GAIN_CHANGE },
-       { BLUETOOTH_EVENT_AG_MIC_GAIN, BT_EVENT_AG_MICROPHONE_GAIN_CHANGE },
-       { BLUETOOTH_EVENT_AG_AUDIO_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AG_AUDIO_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_TELEPHONY_AUDIO_CONNECTED, BT_EVENT_AG_SCO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_TELEPHONY_AUDIO_DISCONNECTED, BT_EVENT_AG_SCO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_TELEPHONY_ANSWER_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_REJECT_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_CHLD_0_RELEASE_ALL_HELD_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_CHLD_1_RELEASE_ALL_ACTIVE_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_CHLD_2_ACTIVE_HELD_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_CHLD_3_MERGE_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_CHLD_4_EXPLICIT_CALL_TRANSFER, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_SEND_DTMF, BT_EVENT_AG_DTMF_TRANSMITTED },
-       { BLUETOOTH_EVENT_AV_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AV_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AV_SOURCE_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AVRCP_CONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AVRCP_DISCONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AVRCP_CONTROL_CONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AVRCP_CONTROL_DISCONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_AVRCP_SETTING_SHUFFLE_STATUS, BT_EVENT_AVRCP_SHUFFLE_MODE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_CONTROL_SHUFFLE_STATUS, BT_EVENT_AVRCP_SHUFFLE_MODE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_SETTING_EQUALIZER_STATUS, BT_EVENT_AVRCP_EQUALIZER_STATE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_CONTROL_EQUALIZER_STATUS, BT_EVENT_AVRCP_EQUALIZER_STATE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_SETTING_REPEAT_STATUS, BT_EVENT_AVRCP_REPEAT_MODE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_CONTROL_REPEAT_STATUS, BT_EVENT_AVRCP_REPEAT_MODE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_SETTING_SCAN_STATUS, BT_EVENT_AVRCP_SCAN_MODE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_CONTROL_SCAN_STATUS, BT_EVENT_AVRCP_SCAN_MODE_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS, BT_EVENT_AVRCP_SONG_POSITION_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_PLAY_STATUS_CHANGED, BT_EVENT_AVRCP_PLAY_STATUS_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_TRACK_CHANGED, BT_EVENT_AVRCP_TRACK_INFO_CHANGED },
-       { BLUETOOTH_EVENT_AVRCP_DELAY_CHANGED, BT_EVENT_AVRCP_DELAY_CHANGED },
-       { BLUETOOTH_HID_CONNECTED, BT_EVENT_HID_CONNECTION_STATUS },
-       { BLUETOOTH_HID_DISCONNECTED, BT_EVENT_HID_CONNECTION_STATUS },
-       { BLUETOOTH_HID_DEVICE_CONNECTED, BT_EVENT_HID_DEVICE_CONNECTION_STATUS },
-       { BLUETOOTH_HID_DEVICE_DISCONNECTED, BT_EVENT_HID_DEVICE_CONNECTION_STATUS },
-       { BLUETOOTH_HID_DEVICE_DATA_RECEIVED, BT_EVENT_HID_DEVICE_DATA_RECEIVED },
-       { BLUETOOTH_EVENT_GATT_CHAR_VAL_CHANGED, BT_EVENT_GATT_CLIENT_VALUE_CHANGED },
-       { BLUETOOTH_EVENT_GATT_READ_CHAR, BT_EVENT_GATT_CLIENT_READ_CHARACTERISTIC },
-       { BLUETOOTH_EVENT_GATT_WRITE_CHAR, BT_EVENT_GATT_CLIENT_WRITE_CHARACTERISTIC },
-       { BLUETOOTH_EVENT_GATT_READ_DESC, BT_EVENT_GATT_CLIENT_READ_DESCRIPTOR },
-       { BLUETOOTH_EVENT_GATT_WRITE_DESC, BT_EVENT_GATT_CLIENT_WRITE_DESCRIPTOR },
-       { BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED, BT_EVENT_GATT_ATT_MTU_CHANGE_STATUS },
-       { BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED, BT_EVENT_MANUFACTURER_DATA_CHANGED },
-       { BLUETOOTH_EVENT_PASSKEY_NOTIFICATION, BT_EVENT_PASSKEY_NOTIFICATION_EVENT },
-       { BLUETOOTH_EVENT_CONNECTABLE_CHANGED, BT_EVENT_CONNECTABLE_CHANGED_EVENT },
-       { BLUETOOTH_EVENT_TELEPHONY_VENDOR_AT_CMD, BT_EVENT_AG_VENDOR_CMD },
-       { BLUETOOTH_EVENT_RSSI_ENABLED, BT_EVENT_RSSI_ENABLED_EVENT },
-       { BLUETOOTH_EVENT_RSSI_ALERT, BT_EVENT_RSSI_ALERT_EVENT },
-       { BLUETOOTH_EVENT_RAW_RSSI, BT_EVENT_GET_RSSI_EVENT },
-       { BLUETOOTH_EVENT_IPSP_CONNECTED, BT_EVENT_IPSP_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_IPSP_DISCONNECTED, BT_EVENT_IPSP_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_SUPPORTED_PROFILE_TRUSTED, BT_EVENT_SUPPORTED_TRUSTED_PROFILE_EVENT },
-       { BLUETOOTH_EVENT_LE_DATA_LENGTH_CHANGED, BT_EVENT_LE_DATA_LENGTH_CHANGED },
-       { BLUETOOTH_PBAP_CONNECTED, BT_EVENT_PBAP_CONNECTION_STATUS },
-       { BLUETOOTH_PBAP_DISCONNECTED, BT_EVENT_PBAP_CONNECTION_STATUS },
-       { BLUETOOTH_PBAP_PHONEBOOK_SIZE, BT_EVENT_PBAP_PHONEBOOK_SIZE },
-       { BLUETOOTH_PBAP_PHONEBOOK_PULL, BT_EVENT_PBAP_PHONEBOOK_PULL },
-       { BLUETOOTH_PBAP_VCARD_LIST, BT_EVENT_PBAP_VCARD_LIST },
-       { BLUETOOTH_PBAP_VCARD_PULL, BT_EVENT_PBAP_VCARD_PULL },
-       { BLUETOOTH_PBAP_PHONEBOOK_SEARCH, BT_EVENT_PBAP_PHONEBOOK_SEARCH },
-       { BLUETOOTH_EVENT_HF_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_HF_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_HF_AUDIO_CONNECTED, BT_EVENT_HF_SCO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED, BT_EVENT_HF_SCO_CONNECTION_STATUS },
-       { BLUETOOTH_EVENT_HF_RING_INDICATOR, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_TERMINATED, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_STARTED, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_ENDED, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_WAITING, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_ON_HOLD, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_UNHOLD, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_SWAPPED, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALL_IDLE, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALLSETUP_DIALING, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING, BT_EVENT_HF_REMOTE_CALL_EVENT },
-       { BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD, BT_EVENT_HF_VENDOR_DEP_CMD_EVENT },
-       { BLUETOOTH_EVENT_HF_VOLUME_SPEAKER, BT_EVENT_HF_SPEAKER_GAIN_CHANGE },
-       { BLUETOOTH_EVENT_HF_CALL_STATUS, BT_EVENT_HF_CALL_STATUS_UPDATED_EVENT },
-       { BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED, BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED },
-       { BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED, BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED },
-       { BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED, BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED },
-       { BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED, BT_EVENT_IPSP_INIT_STATE_CHANGED },
-       { BLUETOOTH_EVENT_PXP_PROPERTY_CHANGED, BT_EVENT_PROXIMITY_REPORTER_PROPERTY_CHANGED },
-       { BLUETOOTH_EVENT_TDS_ACTIVATION_REQUESTED, BT_EVENT_TDS_ACTIVATION_REQUESTED },
-       { BLUETOOTH_EVENT_OTP_SERVER_STATE_CHANGED, BT_EVENT_OTP_SERVER_STATE_CHANGED },
-       { 0, -1 }
-};
-
-/*
- *  Internal Functions
- */
-static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *user_data);
-static void __bt_le_event_proxy(int event, bluetooth_event_param_t *param, void *user_data);
-static int __bt_get_cb_index(int event);
-static void __bt_convert_lower_to_upper(char *origin);
-static int __bt_get_bt_device_sdp_info_s(bt_device_sdp_info_s **dest, bt_sdp_info_t *source, int error);
-static void __bt_free_bt_device_sdp_info_s(bt_device_sdp_info_s *sdp_info);
-static int __bt_get_bt_device_connection_info_s(bt_device_connection_info_s **dest, bt_connection_info_t *source);
-static void __bt_free_bt_device_connection_info_s(bt_device_connection_info_s *conn_info);
-static int __bt_get_bt_adapter_device_discovery_info_s(bt_adapter_device_discovery_info_s **discovery_info, bluetooth_device_info_t *source_info);
-static void __bt_free_bt_adapter_device_discovery_info_s(bt_adapter_device_discovery_info_s *discovery_info);
-static int __bt_get_bt_adapter_le_device_scan_info_s(bt_adapter_le_device_scan_result_info_s **scan_info, bluetooth_le_device_info_t *source_info);
-static void __bt_free_bt_adapter_le_device_scan_info_s(bt_adapter_le_device_scan_result_info_s *scan_info);
-
 /*
  *  Public Functions
  */
 
 int bt_initialize(void)
 {
-       int ret;
+       is_initialized = true;
 
-       BT_CHECK_SUPPORTED_FEATURE(BT_FEATURE_COMMON);
-       if (is_initialized != true) {
-               ret = bluetooth_register_callback(&__bt_event_proxy, NULL);
-               if (ret != BLUETOOTH_ERROR_NONE && ret != BLUETOOTH_ERROR_ALREADY_INITIALIZED) {
-                       BT_ERR("OPERATION_FAILED(0x%08x)", BT_ERROR_OPERATION_FAILED); /* LCOV_EXCL_LINE */
-#ifdef TIZEN_FEATURE_TCT_TMP_SUPPORT
-                       return BT_ERROR_NONE; /* LCOV_EXCL_LINE */
-#else
-                       return BT_ERROR_OPERATION_FAILED; /* LCOV_EXCL_LINE */
-#endif
-               }
-               is_initialized = true;
-       }
        return BT_ERROR_NONE;
 }
 
 int bt_deinitialize(void)
 {
-       BT_CHECK_SUPPORTED_FEATURE(BT_FEATURE_COMMON);
        BT_CHECK_INIT_STATUS();
-       if (bluetooth_unregister_callback() != BLUETOOTH_ERROR_NONE) {
-               BT_ERR("OPERATION_FAILED(0x%08x)", BT_ERROR_OPERATION_FAILED); /* LCOV_EXCL_LINE */
-#ifdef TIZEN_FEATURE_TCT_TMP_SUPPORT
-               return BT_ERROR_NONE; /* LCOV_EXCL_LINE */
-#else
-               return BT_ERROR_OPERATION_FAILED; /* LCOV_EXCL_LINE */
-#endif
-       }
+
        is_initialized = false;
 
        return BT_ERROR_NONE;
@@ -334,11 +92,7 @@ int bt_deinitialize(void)
 
 int bt_get_uuid_name(const char *uuid, char **name)
 {
-       BT_CHECK_SUPPORTED_FEATURE(BT_FEATURE_COMMON);
-       BT_CHECK_INPUT_PARAMETER(uuid);
-       BT_CHECK_INPUT_PARAMETER(name);
-
-       return _bt_get_error_code(bluetooth_get_uuid_name(uuid, name));
+       return BT_ERROR_NOT_SUPPORTED;
 }
 
 /*
@@ -373,53 +127,91 @@ bool _bt_check_cb(int events)
        return (bt_event_slot_container[events].callback != NULL) ? true : false;
 }
 
-int _bt_le_adapter_init(void)
+void _bt_convert_address_to_hex(bluetooth_device_address_t *addr_hex, const char *addr_str)
 {
-       if (is_le_initialized)
-               return BT_ERROR_NONE;
+       char *ptr1, *ptr2, *ptr3, *ptr4, *ptr5;
 
-       if (bluetooth_le_register_callback(&__bt_le_event_proxy, NULL) != BLUETOOTH_ERROR_NONE) {
-               BT_ERR("OPERATION_FAILED(0x%08x)", BT_ERROR_OPERATION_FAILED); /* LCOV_EXCL_LINE */
-               return BT_ERROR_OPERATION_FAILED; /* LCOV_EXCL_LINE */
-       }
-       is_le_initialized = true;
+       if (addr_str == NULL || addr_str[0] == '\0')
+               return;
 
-       return BT_ERROR_NONE;
+       addr_hex->addr[0] = strtol(addr_str, &ptr5, 16);
+       addr_hex->addr[1] = strtol(ptr5 + 1, &ptr4, 16);
+       addr_hex->addr[2] = strtol(ptr4 + 1, &ptr3, 16);
+       addr_hex->addr[3] = strtol(ptr3 + 1, &ptr2, 16);
+       addr_hex->addr[4] = strtol(ptr2 + 1, &ptr1, 16);
+       addr_hex->addr[5] = strtol(ptr1 + 1, NULL, 16);
 }
 
-/* LCOV_EXCL_START */
-int _bt_le_adapter_deinit(void)
+int _bt_convert_address_to_string(char **addr_str, bluetooth_device_address_t *addr_hex)
 {
-       if (!is_le_initialized) {
-               BT_ERR("NOT_INITIALIZED(0x%08x)", BT_ERROR_NOT_INITIALIZED);
-               return BT_ERROR_NOT_INITIALIZED;
-       }
+       char address[18] = { 0, };
 
-       if (!_bt_check_cb(BT_EVENT_LE_STATE_CHANGED)) {
-               if (bluetooth_le_unregister_callback() != BLUETOOTH_ERROR_NONE) {
-                       BT_ERR("OPERATION_FAILED(0x%08x)", BT_ERROR_OPERATION_FAILED);
-                       return BT_ERROR_OPERATION_FAILED;
-               }
-               is_le_initialized = false;
-       }
+       BT_CHECK_INPUT_PARAMETER(addr_hex);
 
-       return BT_ERROR_NONE;
+       snprintf(address, 18, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", addr_hex->addr[0], addr_hex->addr[1], addr_hex->addr[2], addr_hex->addr[3], addr_hex->addr[4], addr_hex->addr[5]);
+       *addr_str = strdup(address);
+
+       if (*addr_str != NULL)
+               return BT_ERROR_NONE;
+       else
+               return BT_ERROR_OUT_OF_MEMORY; /* LCOV_EXCL_LINE */
 }
-/* LCOV_EXCL_STOP */
 
 int _bt_get_error_code(int origin_error)
 {
-       int i;
+       return BT_ERROR_OPERATION_FAILED;
+}
+
+char *_bt_convert_uuid_to_uuid128(const char *uuid)
+{
+       int len;
+       char *uuid128;
+
+       len = strlen(uuid);
+
+       switch (len) {
+       case 4:         /* UUID 16bits */
+               uuid128 = g_strdup_printf("0000%s-0000-1000-8000-00805f9b34fb", uuid);
+               break;
+
+       case 8:         /* UUID 32bits */
+               uuid128 = g_strdup_printf("%s-0000-1000-8000-00805f9b34fb", uuid); /* LCOV_EXCL_LINE */
+               break; /* LCOV_EXCL_LINE */
+
+       case 36:        /* UUID 128bits */
+               uuid128 = strdup(uuid); /* LCOV_EXCL_LINE */
+               break; /* LCOV_EXCL_LINE */
+
+       default:
+               return NULL;
+       }
+
+       return uuid128;
+}
 
-       for (i = 0; err2pub[i].origin_err != 0xFF; i++) {
-               if (err2pub[i].origin_err == origin_error)
-                       return err2pub[i].public_err;
+bt_adapter_visibility_mode_e _bt_get_bt_visibility_mode_e(bluetooth_discoverable_mode_t mode)
+{
+       switch (mode) {
+       case BLUETOOTH_DISCOVERABLE_MODE_TIME_LIMITED_DISCOVERABLE:
+               return BT_ADAPTER_VISIBILITY_MODE_LIMITED_DISCOVERABLE;
+       case BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE:
+               return BT_ADAPTER_VISIBILITY_MODE_GENERAL_DISCOVERABLE; /* LCOV_EXCL_LINE */
+       default:
+               return BT_ADAPTER_VISIBILITY_MODE_NON_DISCOVERABLE;
        }
+}
+
+static void __bt_convert_lower_to_upper(char *origin)
+{
+       int length = strlen(origin);
+       int i = 0;
 
-       return BT_ERROR_OPERATION_FAILED; /* LCOV_EXCL_LINE */
+       for (i = 0; i < length; i++) {
+               if (islower(origin[i]))
+                       origin[i] = toupper(origin[i]);
+       }
 }
 
-/* LCOV_EXCL_START */
 int _bt_get_bt_device_info_s(bt_device_info_s **dest_dev, bluetooth_device_info_t *source_dev)
 {
        int i = 0;
@@ -444,9 +236,7 @@ int _bt_get_bt_device_info_s(bt_device_info_s **dest_dev, bluetooth_device_info_
                (*dest_dev)->service_uuid = (char **)malloc(sizeof(char *) *source_dev->service_index);
                if ((*dest_dev)->service_uuid != NULL) {
                        for (i = 0; i < source_dev->service_index; i++) {
-                               (*dest_dev)->service_uuid[i] =
-                                       g_strndup(source_dev->uuids[i],
-                                               BLUETOOTH_UUID_STRING_MAX - 1);
+                               (*dest_dev)->service_uuid[i] = g_strndup(source_dev->uuids[i], BLUETOOTH_UUID_STRING_MAX - 1);
                                if ((*dest_dev)->service_uuid[i] != NULL)
                                        __bt_convert_lower_to_upper((*dest_dev)->service_uuid[i]);
                        }
@@ -458,13 +248,11 @@ int _bt_get_bt_device_info_s(bt_device_info_s **dest_dev, bluetooth_device_info_
        (*dest_dev)->is_bonded = (bool)source_dev->paired;
        (*dest_dev)->is_connected = source_dev->connected != BLUETOOTH_CONNECTED_LINK_NONE ? TRUE : FALSE;
        (*dest_dev)->is_authorized = (bool)source_dev->trust;
-
        (*dest_dev)->manufacturer_data_len = source_dev->manufacturer_data.data_len;
        if (source_dev->manufacturer_data.data_len > 0) {
                (*dest_dev)->manufacturer_data = (char *)malloc(source_dev->manufacturer_data.data_len);
                if ((*dest_dev)->manufacturer_data)
-                       memcpy((*dest_dev)->manufacturer_data, source_dev->manufacturer_data.data,
-                                                               source_dev->manufacturer_data.data_len);
+                       memcpy((*dest_dev)->manufacturer_data, source_dev->manufacturer_data.data, source_dev->manufacturer_data.data_len);
                else
                        return BT_ERROR_OUT_OF_MEMORY;
        } else {
@@ -494,7 +282,7 @@ void _bt_free_bt_device_info_s(bt_device_info_s *device_info)
        if (device_info->service_uuid != NULL) {
                for (i = 0; i < device_info->service_count; i++) {
                        if (device_info->service_uuid[i] != NULL)
-                               g_free(device_info->service_uuid[i]);
+                       g_free(device_info->service_uuid[i]);
                }
                free(device_info->service_uuid);
        }
@@ -506,2769 +294,17 @@ void _bt_free_bt_device_info_s(bt_device_info_s *device_info)
        device_info = NULL;
 }
 
-int _bt_get_ad_data_by_type(char *in_data, int in_len,
-               char in_type, char **data, int *data_len)
-{
-       if (in_data == NULL || data == NULL || data_len == NULL)
-               return BLUETOOTH_ERROR_INTERNAL;
-
-       if (in_len < 0)
-               return BLUETOOTH_ERROR_INTERNAL;
-
-       int i;
-       int len = 0;
-       int type = 0;
-
-       for (i = 0; i < in_len; i++) {
-               len = in_data[i];
-               if (len <= 0 || i + 1 >= in_len) {
-                       BT_ERR("Invalid advertising data");
-                       return BLUETOOTH_ERROR_INTERNAL;
-               }
-
-               type = in_data[i + 1];
-               if (type == in_type) {
-                       i = i + 2;
-                       len--;
-                       break;
-               }
-
-               i += len;
-               len = 0;
-       }
-
-       if (i + len > in_len) {
-               BT_ERR("Invalid advertising data");
-               return BLUETOOTH_ERROR_INTERNAL;
-       } else if (len == 0) {
-               BT_DBG("AD Type 0x%02x data is not set", in_type);
-               *data = NULL;
-               *data_len = 0;
-               return BLUETOOTH_ERROR_NONE;
-       }
-
-       *data = g_memdup(&in_data[i], len);
-       if (*data == NULL)
-               return BLUETOOTH_ERROR_OUT_OF_MEMORY;
-       *data_len = len;
-
-       return BLUETOOTH_ERROR_NONE;
-}
-/* LCOV_EXCL_STOP */
-
-int _bt_convert_address_to_string(char **addr_str, bluetooth_device_address_t *addr_hex)
-{
-       char address[18] = { 0, };
-
-       BT_CHECK_INPUT_PARAMETER(addr_hex);
-
-       snprintf(address, 18, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", addr_hex->addr[0], addr_hex->addr[1], addr_hex->addr[2], addr_hex->addr[3], addr_hex->addr[4], addr_hex->addr[5]);
-       *addr_str = strdup(address);
-
-       if (*addr_str != NULL)
-               return BT_ERROR_NONE;
-       else
-               return BT_ERROR_OUT_OF_MEMORY; /* LCOV_EXCL_LINE */
-}
-
-void _bt_convert_address_to_hex(bluetooth_device_address_t *addr_hex, const char *addr_str)
-{
-       char *ptr1, *ptr2, *ptr3, *ptr4, *ptr5;
-
-       if (addr_str == NULL || addr_str[0] == '\0')
-               return;
-
-       addr_hex->addr[0] = strtol(addr_str, &ptr5, 16);
-       addr_hex->addr[1] = strtol(ptr5 + 1, &ptr4, 16);
-       addr_hex->addr[2] = strtol(ptr4 + 1, &ptr3, 16);
-       addr_hex->addr[3] = strtol(ptr3 + 1, &ptr2, 16);
-       addr_hex->addr[4] = strtol(ptr2 + 1, &ptr1, 16);
-       addr_hex->addr[5] = strtol(ptr1 + 1, NULL, 16);
-}
-
 char *_bt_convert_error_to_string(int error)
 {
        int i;
 
        for (i = 0; err2str[i].err != 0; i++) {
                if (err2str[i].err == error)
-                       return err2str[i].str;
+               return err2str[i].str;
        }
 
        return "UNKNOWN"; /* LCOV_EXCL_LINE */
 }
 
-char *_bt_convert_uuid_to_uuid128(const char *uuid)
-{
-       int len;
-       char *uuid128;
-
-       len = strlen(uuid);
-
-       switch (len) {
-       case 4:         /* UUID 16bits */
-               uuid128 = g_strdup_printf("0000%s-0000-1000-8000-00805f9b34fb", uuid);
-               break;
-
-       case 8:         /* UUID 32bits */
-               uuid128 = g_strdup_printf("%s-0000-1000-8000-00805f9b34fb", uuid); /* LCOV_EXCL_LINE */
-               break; /* LCOV_EXCL_LINE */
-
-       case 36:        /* UUID 128bits */
-               uuid128 = strdup(uuid); /* LCOV_EXCL_LINE */
-               break; /* LCOV_EXCL_LINE */
-
-       default:
-               return NULL;
-       }
-
-       return uuid128;
-}
-
-bt_adapter_visibility_mode_e _bt_get_bt_visibility_mode_e(bluetooth_discoverable_mode_t mode)
-{
-       switch (mode) {
-       case BLUETOOTH_DISCOVERABLE_MODE_TIME_LIMITED_DISCOVERABLE:
-               return BT_ADAPTER_VISIBILITY_MODE_LIMITED_DISCOVERABLE;
-       case BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE:
-               return BT_ADAPTER_VISIBILITY_MODE_GENERAL_DISCOVERABLE; /* LCOV_EXCL_LINE */
-       default:
-               return BT_ADAPTER_VISIBILITY_MODE_NON_DISCOVERABLE;
-       }
-}
-
-/*
- *  Internal Functions
- */
-
-/* LCOV_EXCL_START */
-static int __bt_get_bt_device_sdp_info_s(bt_device_sdp_info_s **dest, bt_sdp_info_t *source, int error)
-{
-       int i = 0;
-
-       *dest = (bt_device_sdp_info_s *)g_malloc0(sizeof(bt_device_sdp_info_s));
-
-       if (_bt_convert_address_to_string(&((*dest)->remote_address), &(source->device_addr)) != BT_ERROR_NONE) {
-               __bt_free_bt_device_sdp_info_s(*dest);
-               return BT_ERROR_OUT_OF_MEMORY;
-       }
-       if (error != BT_ERROR_NONE) {
-               BT_DBG("In error case, ignore other fields of service search");
-               return BT_ERROR_NONE;
-       }
-
-       if (source->service_index > 0) {
-               (*dest)->service_uuid = (char **)malloc(sizeof(char *) *source->service_index);
-               if ((*dest)->service_uuid == NULL) {
-                       __bt_free_bt_device_sdp_info_s(*dest);
-                       return BT_ERROR_OUT_OF_MEMORY;
-               }
-
-               for (i = 0; i < source->service_index; i++) {
-                       (*dest)->service_uuid[i] = strdup(source->uuids[i]);
-                       if ((*dest)->service_uuid[i] == NULL) {
-                               __bt_free_bt_device_sdp_info_s(*dest);
-                               return BT_ERROR_OUT_OF_MEMORY;
-                       }
-                       __bt_convert_lower_to_upper((*dest)->service_uuid[i]);
-               }
-       } else {
-               (*dest)->service_uuid = NULL;
-       }
-       (*dest)->service_count = source->service_index;
-
-       return BT_ERROR_NONE;
-}
-
-static void __bt_free_bt_device_sdp_info_s(bt_device_sdp_info_s *sdp_info)
-{
-       int i = 0;
-
-       if (sdp_info == NULL)
-               return;
-
-       if (sdp_info->remote_address != NULL)
-               free(sdp_info->remote_address);
-
-       if (sdp_info->service_uuid != NULL) {
-               for (i = 0; i < sdp_info->service_count; i++) {
-                       if (sdp_info->service_uuid[i] != NULL)
-                               free(sdp_info->service_uuid[i]);
-               }
-               free(sdp_info->service_uuid);
-       }
-
-       g_free(sdp_info);
-       sdp_info = NULL;
-}
-
-static int __bt_get_bt_gatt_client_att_mtu_info_s(bt_gatt_client_att_mtu_info_s **dest, bluetooth_le_att_mtu_info_t *source)
-{
-       *dest = (bt_gatt_client_att_mtu_info_s *)g_malloc0(sizeof(bt_gatt_client_att_mtu_info_s));
-
-       if (_bt_convert_address_to_string(&((*dest)->remote_address), &(source->device_address)) != BT_ERROR_NONE) {
-               g_free(*dest);
-               *dest = NULL;
-
-               return BT_ERROR_OUT_OF_MEMORY;
-       }
-
-       (*dest)->mtu = source->mtu;
-       (*dest)->status = source->status;
-
-       return BT_ERROR_NONE;
-}
-
-static int __bt_get_bt_device_connection_info_s(bt_device_connection_info_s **dest, bt_connection_info_t *source)
-{
-       *dest = (bt_device_connection_info_s *)g_malloc0(sizeof(bt_device_connection_info_s));
-
-       if (_bt_convert_address_to_string(&((*dest)->remote_address), &(source->device_addr)) != BT_ERROR_NONE) {
-               __bt_free_bt_device_connection_info_s(*dest);
-               return BT_ERROR_OUT_OF_MEMORY;
-       }
-
-       switch (source->addr_type) {
-       case 0:
-               (*dest)->link = BT_DEVICE_CONNECTION_LINK_BREDR;
-               break;
-       case 1:
-       case 2:
-               (*dest)->link = BT_DEVICE_CONNECTION_LINK_LE;
-               break;
-       default:
-               (*dest)->link = BT_DEVICE_CONNECTION_LINK_BREDR;
-               break;
-       }
-
-       BT_INFO("Disconnect reason from FRWK[0x%x]", source->disc_reason);
-
-       switch (source->disc_reason) {
-/* After ACR for BT_DEVICE_DISCONNECT_REASON_AUTH_FAILED, will enable this code */
-#if 0
-       case (int)BLUETOOTH_ERROR_AUTH_FAILURE:
-               (*dest)->disconn_reason = BT_DEVICE_DISCONNECT_REASON_AUTH_FAILED;
-               break;
-#endif
-       case (int)BLUETOOTH_ERROR_CONNECTION_TIMEOUT:
-               BT_INFO("Disconnected due to Timeout");
-               (*dest)->disconn_reason = BT_DEVICE_DISCONNECT_REASON_TIMEOUT;
-               break;
-       case (int)BLUETOOTH_ERROR_REMOTE_USER_TERM:
-       case (int)BLUETOOTH_ERROR_REMOTE_LOW_RESOURCES:
-       case (int)BLUETOOTH_ERROR_REMOTE_POWER_OFF:
-               (*dest)->disconn_reason = BT_DEVICE_DISCONNECT_REASON_REMOTE;
-               break;
-       case (int)BLUETOOTH_ERROR_LOCAL_HOST_TERM:
-               (*dest)->disconn_reason = BT_DEVICE_DISCONNECT_REASON_LOCAL_HOST;
-               break;
-       default:
-               (*dest)->disconn_reason = BT_DEVICE_DISCONNECT_REASON_UNKNOWN;
-               break;
-       }
-
-       BT_INFO("Disconnected reason to app [0x%x]", (*dest)->disconn_reason);
-       return BT_ERROR_NONE;
-}
-
-#ifdef TIZEN_FEATURE_GATT_RELAY
-/* Search for handle */
-static bt_gatt_server_read_value_requested_cb __bt_gatt_attribute_get_read_cb(int att_handle, bt_gatt_server_h *server,
-                                               bt_gatt_h *gatt_handle, void **user_data)
-{
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3, *l4;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-                       for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                               bt_gatt_characteristic_s *chr = l3->data;
-
-                               if (chr) {
-                                       if (chr->handle == att_handle) {
-                                               if (chr->read_requested_cb) {
-                                                       BT_INFO("GATT Server: Handle search match found! Its a characteristic: UUID [%s]", chr->uuid);
-                                                       *user_data = chr->read_requested_user_data;
-                                                       *gatt_handle = chr;
-                                                       *server = serv;
-                                                       return chr->read_requested_cb;
-                                               } else
-                                                       return NULL;
-                                       } else {
-                                               for (l4 = chr->descriptors; l4 != NULL; l4 = l4->next) {
-                                                       bt_gatt_descriptor_s *desc = l4->data;
-
-                                                       if (desc && desc->handle == att_handle) {
-                                                               if (desc->read_requested_cb) {
-                                                                       *user_data = desc->read_requested_user_data;
-                                                                       *gatt_handle = desc;
-                                                                       *server = serv;
-                                                                       BT_INFO("GATT Server: Handle search match found! Its a Desc UUID [%s]", desc->uuid);
-                                                                       return desc->read_requested_cb;
-                                                               } else
-                                                                       return NULL;
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-static bt_gatt_server_write_value_requested_cb __bt_gatt_attribute_get_value_change_cb(int att_handle, bt_gatt_h *server,
-                               bt_gatt_h *gatt_handle, void **user_data)
-{
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3, *l4;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
 
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-                       for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                               bt_gatt_characteristic_s *chr = l3->data;
-
-                               if (chr) {
-                                       if (chr->handle == att_handle) {
-                                               if (chr->write_value_requested_cb) {
-                                                       BT_INFO("GATT Server: Handle search match found! Its a characteristic: UUID [%s]", chr->uuid);
-                                                       *user_data = chr->write_value_requested_user_data;
-                                                       *gatt_handle = chr;
-                                                       *server = svc;
-                                                       return chr->write_value_requested_cb;
-                                               } else
-                                                       return NULL;
-                                       } else {
-                                               for (l4 = chr->descriptors; l4 != NULL; l4 = l4->next) {
-                                                       bt_gatt_descriptor_s *desc = l4->data;
-
-                                                       if (desc && desc->handle == att_handle) {
-                                                               if (desc->write_value_requested_cb) {
-                                                                       *user_data = desc->write_value_requested_user_data;
-                                                                       *gatt_handle = desc;
-                                                                       *server = svc;
-                                                                       BT_INFO("GATT Server: Handle search match found! Its a Desc UUID [%s]", desc->uuid);
-                                                                       return desc->write_value_requested_cb;
-                                                               } else
-                                                                       return NULL;
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-static bt_gatt_server_characteristic_notification_state_changed_cb
-               __bt_gatt_attribute_get_notification_change_cb(
-                       bt_gatt_server_h *server, int handle, bt_gatt_h *char_handle, void **user_data)
-{
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-
-                       for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                               bt_gatt_characteristic_s *chr = l3->data;
-
-                               if (chr && chr->handle == handle) {
-                                       if (chr->notification_changed_cb) {
-                                               *user_data = chr->notification_changed_user_data;
-                                               *char_handle =  (bt_gatt_h*) chr;
-                                               *server = serv;
-                                               return chr->notification_changed_cb;
-                                       } else
-                                               return NULL;
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-static bt_gatt_server_notification_sent_cb __bt_gatt_attribute_get_notification_completed_cb(
-                       bt_gatt_server_h *server, int handle, bt_gatt_h *char_handle, void **user_data)
-{
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-
-                       for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                               bt_gatt_characteristic_s *chr = l3->data;
-
-                               if (chr && chr->handle == handle) {
-                                       if (chr->notified_cb) {
-                                               *user_data = chr->notified_user_data;
-                                               *char_handle =  (bt_gatt_h*) chr;
-                                               *server = serv;
-                                               return chr->notified_cb;
-                                       } else
-                                               return NULL;
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-void _bt_gatt_server_event_proxy(int event, gatt_server_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = NULL;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-#else
-static bt_gatt_server_read_value_requested_cb __bt_gatt_attribute_get_read_cb(
-                                       bt_gatt_h service, bt_gatt_h attribute, bt_gatt_h *gatt_handle, void **user_data)
-{
-       gchar *svc_path = (gchar *)service;
-       gchar *att_path = (gchar *)attribute;
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3, *l4;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-
-                       if (!svc)
-                               return NULL;
-
-                       if (g_strcmp0(svc->path, svc_path) == 0) {
-                               for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                                       bt_gatt_characteristic_s *chr = l3->data;
-
-                                       if (chr) {
-                                               if (g_strcmp0(chr->path, att_path) == 0) {
-                                                       if (chr->read_requested_cb) {
-                                                               *user_data = chr->read_requested_user_data;
-                                                               *gatt_handle = chr;
-                                                               return chr->read_requested_cb;
-                                                       } else
-                                                               return NULL;
-                                               } else {
-                                                       for (l4 = chr->descriptors; l4 != NULL; l4 = l4->next) {
-                                                               bt_gatt_descriptor_s *desc = l4->data;
-
-                                                               if (desc && g_strcmp0(desc->path, att_path) == 0) {
-                                                                       if (desc->read_requested_cb) {
-                                                                               *user_data = desc->read_requested_user_data;
-                                                                               *gatt_handle = desc;
-                                                                               return desc->read_requested_cb;
-                                                                       } else
-                                                                               return NULL;
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-
-static bt_gatt_server_write_value_requested_cb __bt_gatt_attribute_get_value_change_cb(
-                                       bt_gatt_h service, bt_gatt_h attribute, bt_gatt_h *gatt_handle, void **user_data)
-{
-       gchar *svc_path = (gchar *)service;
-       gchar *att_path = (gchar *)attribute;
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3, *l4;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-
-                       if (!svc)
-                               return NULL;
-
-                       if (g_strcmp0(svc->path, svc_path) == 0) {
-                               for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                                       bt_gatt_characteristic_s *chr = l3->data;
-
-                                       if (chr) {
-                                               if (g_strcmp0(chr->path, att_path) == 0) {
-                                                       if (chr->write_value_requested_cb) {
-                                                               *user_data = chr->write_value_requested_user_data;
-                                                               *gatt_handle = chr;
-                                                               return chr->write_value_requested_cb;
-                                                       } else
-                                                               return NULL;
-                                               } else {
-                                                       for (l4 = chr->descriptors; l4 != NULL; l4 = l4->next) {
-                                                               bt_gatt_descriptor_s *desc = l4->data;
-
-                                                               if (desc && g_strcmp0(desc->path, att_path) == 0) {
-                                                                       if (desc->write_value_requested_cb) {
-                                                                               *user_data = desc->write_value_requested_user_data;
-                                                                               *gatt_handle = desc;
-                                                                               return desc->write_value_requested_cb;
-                                                                       } else
-                                                                               return NULL;
-                                                               }
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-static bt_gatt_server_characteristic_notification_state_changed_cb
-               __bt_gatt_attribute_get_notification_change_cb(
-                                       bt_gatt_h service, bt_gatt_h attribute, bt_gatt_h *gatt_handle, void **user_data)
-{
-       gchar *svc_path = (gchar *)service;
-       gchar *att_path = (gchar *)attribute;
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-
-                       if (g_strcmp0(svc->path, svc_path) == 0) {
-                               for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                                       bt_gatt_characteristic_s *chr = l3->data;
-
-                                       if (chr && g_strcmp0(chr->path, att_path) == 0) {
-                                               if (chr->notification_changed_cb) {
-                                                       *user_data = chr->notification_changed_user_data;
-                                                       *gatt_handle = chr;
-                                                       return chr->notification_changed_cb;
-                                               } else
-                                                       return NULL;
-                                       }
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-
-static bt_gatt_server_notification_sent_cb __bt_gatt_attribute_get_notification_completed_cb(
-                                       bt_gatt_h service, bt_gatt_h attribute, void **user_data)
-{
-       gchar *svc_path = (gchar *)service;
-       gchar *att_path = (gchar *)attribute;
-       const GSList *gatt_server_list = NULL;
-       const GSList *l1, *l2, *l3;
-
-       gatt_server_list = _bt_gatt_get_server_list();
-
-       for (l1 = gatt_server_list; l1 != NULL; l1 = l1->next) {
-               bt_gatt_server_s *serv = l1->data;
-
-               if (!serv)
-                       return NULL;
-
-               for (l2 = serv->services; l2 != NULL; l2 = l2->next) {
-                       bt_gatt_service_s *svc = l2->data;
-
-                       if (g_strcmp0(svc->path, svc_path) == 0) {
-                               for (l3 = svc->characteristics; l3 != NULL; l3 = l3->next) {
-                                       bt_gatt_characteristic_s *chr = l3->data;
-
-                                       if (chr && g_strcmp0(chr->path, att_path) == 0) {
-                                               if (chr->notified_cb) {
-                                                       *user_data = chr->notified_user_data;
-                                                       return chr->notified_cb;
-                                               } else
-                                                       return NULL;
-                                       }
-                               }
-                       }
-               }
-       }
-       return NULL;
-}
-#endif
-
-static void __bt_free_bt_device_connection_info_s(bt_device_connection_info_s *conn_info)
-{
-       if (conn_info == NULL)
-               return;
-
-       if (conn_info->remote_address != NULL)
-               free(conn_info->remote_address);
-
-       g_free(conn_info);
-       conn_info = NULL;
-}
-
-void _bt_audio_event_proxy(int event, bt_audio_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = NULL;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-
-void _bt_hf_event_proxy(int event, bt_hf_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = NULL;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-
-void _bt_telephony_event_proxy(int event, telephony_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = NULL;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-
-void _bt_avrcp_event_proxy(int event, media_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = param->user_data;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-
-void _bt_hid_event_proxy(int event, hid_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = param->user_data;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-
-#ifdef TIZEN_GATT_CLIENT
-void _bt_gatt_client_event_proxy(int event,
-                       gatt_client_event_param_t *param, void *user_data)
-{
-       bluetooth_event_param_t new_param;
-       new_param.event = param->event;
-       new_param.param_data = param->param_data;
-       new_param.result = param->result;
-       new_param.user_data = NULL;
-       __bt_event_proxy(event, &new_param, user_data);
-}
-#endif
-
-/* LCOV_EXCL_STOP */
-
-static bool __bt_need_to_handle(int event)
-{
-       int event_index = -1;
-
-       switch (event) {
-       case BLUETOOTH_EVENT_ADVERTISING_STARTED:
-       case BLUETOOTH_EVENT_ADVERTISING_STOPPED:
-#ifdef TIZEN_GATT_CLIENT
-       case BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED:
-       case BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED:
-       case BLUETOOTH_EVENT_GATT_SERVER_CONNECTED:
-       case BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED:
-#else
-       case BLUETOOTH_EVENT_GATT_CONNECTED:
-       case BLUETOOTH_EVENT_GATT_DISCONNECTED:
-#endif
-       case BLUETOOTH_EVENT_GATT_SERVER_VALUE_CHANGED:
-       case BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_STATE_CHANGED:
-       case BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED:
-       case BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_COMPLETED:
-       case BLUETOOTH_EVENT_GATT_CLIENT_SERVICE_CHANGED:
-       case BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED:
-       case BLUETOOTH_EVENT_TDS_TRANSPORT_DATA_RECEIVED:
-       case BLUETOOTH_EVENT_TDS_ACTIVATION_RESULT:
-       case BLUETOOTH_EVENT_TDS_CONTROL_POINT_ENABLED:
-       case BLUETOOTH_EVENT_TDS_ACTIVATION_INDICATION:
-       case BLUETOOTH_EVENT_OTP_READ_CHAR_VAL:
-       case BLUETOOTH_EVENT_OTP_NOTIFICATION_ENABLED:
-       case BLUETOOTH_EVENT_OTP_WRITE_CHAR_VAL:
-       case BLUETOOTH_EVENT_OTP_INDICATION:
-       case BLUETOOTH_EVENT_OTC_STATE_CHANGED:
-       case BLUETOOTH_EVENT_GATT_READ_CHAR:
-       case BLUETOOTH_EVENT_GATT_WRITE_CHAR:
-       case BLUETOOTH_EVENT_GATT_READ_DESC:
-       case BLUETOOTH_EVENT_GATT_WRITE_DESC:
-               return true;
-       default:
-               break;
-       }
-
-       event_index = __bt_get_cb_index(event);
-       if (event_index != -1 && bt_event_slot_container[event_index].callback)
-               return true;
-
-       return false;
-}
-
-static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *user_data)
-{
-       int call_id;
-       int *avrcp_mode;
-       int *discoverable_timeout;
-       int *adv_handle;
-       bluetooth_rfcomm_connection_t *connection_ind = NULL;
-       bluetooth_rfcomm_disconnection_t *disconnection_ind = NULL;
-       bt_socket_connection_s rfcomm_connection;
-       bt_device_sdp_info_s *sdp_info = NULL;
-       bt_device_connection_info_s *conn_info = NULL;
-       bt_adapter_device_discovery_info_s *discovery_info = NULL;
-       bt_device_info_s *bonded_device = NULL;
-       bluetooth_rfcomm_connection_request_t *reqeust_ind = NULL;
-       bt_obex_server_authorize_into_t *auth_info = NULL;
-       bt_obex_server_transfer_info_t *transfer_info = NULL;
-       bt_opc_transfer_info_t *client_info = NULL;
-       bluetooth_device_address_t *bd_addr = NULL;
-       telephony_event_callid_t *call_data = NULL;
-       char *device_addr = NULL;
-       char *phone_number = NULL;
-       int error_code = BT_ERROR_NONE;
-       int event_index = -1;
-       bt_gatt_char_value_t *char_val = NULL;
-       media_metadata_attributes_t *metadata = NULL;
-       bluetooth_authentication_request_info_t *auth_information = NULL;
-       bt_le_data_length_params_t  *data_length_info = NULL;
-
-#ifdef TIZEN_GATT_CLIENT
-       bt_gatt_char_property_t *char_prop = NULL;
-#endif
-       if (!__bt_need_to_handle(event))
-               return;
-
-       event_index = __bt_get_cb_index(event);
-
-       switch (event) {
-       case BLUETOOTH_EVENT_ENABLED:
-               BT_INFO("bt_adapter_state_changed_cb() will be called with BT_ADAPTER_ENABLED"); /* LCOV_EXCL_LINE */
-               ((bt_adapter_state_changed_cb) bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), BT_ADAPTER_ENABLED, bt_event_slot_container[event_index].user_data);
-               break;
-/* LCOV_EXCL_START */
-       case BLUETOOTH_EVENT_DISABLED:
-               BT_INFO("bt_adapter_state_changed_cb() will be called with BT_ADAPTER_DISABLED");
-               ((bt_adapter_state_changed_cb) bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), BT_ADAPTER_DISABLED, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_LOCAL_NAME_CHANGED:
-               BT_INFO("bt_adapter_name_changed_cb() will be called");
-               ((bt_adapter_name_changed_cb)bt_event_slot_container[event_index].callback)
-                   ((char *)(param->param_data), bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED:
-               BT_INFO("bt_adapter_visibility_mode_changed_cb() will be called");
-               ((bt_adapter_visibility_mode_changed_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), _bt_get_bt_visibility_mode_e(*(bt_adapter_visibility_mode_e *)(param->param_data)), bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED:
-               BT_INFO("bt_adapter_visibility_duration_changed_cb() will be called");
-               discoverable_timeout = (int *)(param->param_data);
-               ((bt_adapter_visibility_duration_changed_cb)bt_event_slot_container[event_index].callback)
-                   (*discoverable_timeout, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_CONNECTABLE_CHANGED:
-               BT_INFO("bt_adapter_connectable_changed_cb() will be called");
-               ((bt_adapter_connectable_changed_cb)bt_event_slot_container[event_index].callback)
-                       (_bt_get_error_code(param->result), *(bool *)(param->param_data), bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_SUPPORTED_PROFILE_TRUSTED: {
-               BT_INFO("bt_device_trusted_profile_cb() will be called");
-               bt_supported_profile_trusted_t *parameter = param->param_data;
-               ((bt_device_trusted_profiles_cb)bt_event_slot_container[event_index].callback)
-                       (_bt_get_error_code(param->result), parameter->address, parameter->profile, parameter->supported, parameter->trusted, bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_DISCOVERY_STARTED:
-               BT_INFO("bt_adapter_device_discovery_state_changed_cb() will be called with BT_ADAPTER_DEVICE_DISCOVERY_STARTED");
-               ((bt_adapter_device_discovery_state_changed_cb) bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), BT_ADAPTER_DEVICE_DISCOVERY_STARTED, NULL, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_DISCOVERY_FINISHED:
-               BT_INFO("bt_adapter_device_discovery_state_changed_cb() will be called with BT_ADAPTER_DEVICE_DISCOVERY_FINISHED");
-               ((bt_adapter_device_discovery_state_changed_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), BT_ADAPTER_DEVICE_DISCOVERY_FINISHED, NULL, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED:
-               BT_INFO("bt_adapter_device_discovery_state_changed_cb() will be called with BT_ADAPTER_DEVICE_DISCOVERY_FOUND");
-               if (__bt_get_bt_adapter_device_discovery_info_s(&discovery_info, (bluetooth_device_info_t *)(param->param_data)) == BT_ERROR_NONE) {
-                       ((bt_adapter_device_discovery_state_changed_cb)bt_event_slot_container[event_index].callback)
-                           (_bt_get_error_code(param->result), BT_ADAPTER_DEVICE_DISCOVERY_FOUND, discovery_info, bt_event_slot_container[event_index].user_data);
-                       __bt_free_bt_adapter_device_discovery_info_s(discovery_info);
-               } else {
-                       ((bt_adapter_device_discovery_state_changed_cb)bt_event_slot_container[event_index].callback)
-                           (_bt_get_error_code(param->result), BT_ADAPTER_DEVICE_DISCOVERY_FOUND, NULL, bt_event_slot_container[event_index].user_data);
-               }
-               break;
-       case BLUETOOTH_EVENT_BONDING_FINISHED:
-               BT_INFO("bt_device_bond_created_cb() will be called");
-               _bt_get_bt_device_info_s(&bonded_device, (bluetooth_device_info_t *)(param->param_data));
-
-               ((bt_device_bond_created_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), bonded_device, bt_event_slot_container[event_index].user_data);
-               _bt_free_bt_device_info_s(bonded_device);
-               bonded_device = NULL;
-               break;
-       case BLUETOOTH_EVENT_BONDED_DEVICE_REMOVED:
-               BT_INFO("bt_device_bond_destroyed_cb() will be called");
-               _bt_convert_address_to_string(&device_addr, (bluetooth_device_address_t *)(param->param_data));
-               ((bt_device_bond_destroyed_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), device_addr, bt_event_slot_container[event_index].user_data);
-               if (device_addr != NULL)
-                       free(device_addr);
-               device_addr = NULL;
-               break;
-       case BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY:
-               BT_INFO("bt_adapter_authentication_req_cb() will be called with \
-                       BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY");
-               auth_information = (bluetooth_authentication_request_info_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, &auth_information->device_address);
-               BT_DBG("BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY: name = %s address = %s passkey = %s", auth_information->device_name.name,
-                       device_addr, auth_information->str_passkey);
-
-               ((bt_adapter_authentication_req_cb)bt_event_slot_container[event_index].callback)
-                       (_bt_get_error_code(param->result), BT_AUTH_KEYBOARD_PASSKEY_DISPLAY, auth_information->device_name.name,
-                               device_addr, auth_information->str_passkey, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_PIN_REQUEST:
-               BT_INFO("bt_adapter_authentication_req_cb() will be called with \
-                               BLUETOOTH_EVENT_PIN_REQUEST");
-               auth_information = (bluetooth_authentication_request_info_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, &auth_information->device_address);
-
-               BT_DBG("BUETOOTH_EVENT_PIN_REQUEST: name = %s address = %s", auth_information->device_name.name,
-                       device_addr);
-
-               ((bt_adapter_authentication_req_cb)bt_event_slot_container[event_index].callback)
-                       (_bt_get_error_code(param->result), BT_AUTH_PIN_REQUEST, auth_information->device_name.name, device_addr,
-                               auth_information->str_passkey, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_PASSKEY_REQUEST:
-               BT_INFO("bt_adapter_authentication_req_cb will be called with \
-                               BLUETOOTH_EVENT_PASSKEY_REQUEST");
-
-               auth_information = (bluetooth_authentication_request_info_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, &auth_information->device_address);
-
-               BT_DBG("BLUETOOTH_EVENT_PASSKEY_REQUEST: name = %s address = %s", auth_information->device_name.name,
-                       device_addr);
-
-               ((bt_adapter_authentication_req_cb)bt_event_slot_container[event_index].callback)
-                       (_bt_get_error_code(param->result), BT_AUTH_PIN_REQUEST, auth_information->device_name.name, device_addr,
-                               auth_information->str_passkey, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST:
-               BT_INFO("bt_adapter_authentication_req_cb will be called with \
-                       BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST");
-
-               auth_information = (bluetooth_authentication_request_info_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, &auth_information->device_address);
-
-               BT_DBG("BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST: name = %s address = %s passkey = %s ",
-                               auth_information->device_name.name, device_addr, auth_information->str_passkey);
-               ((bt_adapter_authentication_req_cb)bt_event_slot_container[event_index].callback)
-                       (_bt_get_error_code(param->result), BT_AUTH_PASSKEY_CONFIRM_REQUEST, auth_information->device_name.name, device_addr,
-                               auth_information->str_passkey, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_DEVICE_AUTHORIZED:
-               BT_INFO("bt_device_authorization_changed_cb() will be called with BT_DEVICE_AUTHORIZED");
-               _bt_convert_address_to_string(&device_addr, (bluetooth_device_address_t *)(param->param_data));
-               ((bt_device_authorization_changed_cb)bt_event_slot_container[event_index].callback)
-                   (BT_DEVICE_AUTHORIZED, device_addr, bt_event_slot_container[event_index].user_data);
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_DEVICE_UNAUTHORIZED:
-               BT_INFO("bt_device_authorization_changed_cb() will be called with BT_DEVICE_UNAUTHORIZED");
-               _bt_convert_address_to_string(&device_addr, (bluetooth_device_address_t *)(param->param_data));
-               ((bt_device_authorization_changed_cb)bt_event_slot_container[event_index].callback)
-                   (BT_DEVICE_UNAUTHORIZED, device_addr, bt_event_slot_container[event_index].user_data);
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_DEVICE_CONNECTED:
-               BT_INFO("bt_device_connection_state_changed_cb() will be called");
-               if (__bt_get_bt_device_connection_info_s(&conn_info, (bt_connection_info_t *)(param->param_data))
-                               == BT_ERROR_NONE) {
-                       ((bt_device_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-                               (true, conn_info, bt_event_slot_container[event_index].user_data);
-                       __bt_free_bt_device_connection_info_s(conn_info);
-               }
-               break;
-       case BLUETOOTH_EVENT_DEVICE_DISCONNECTED:
-               BT_INFO("bt_device_connection_state_changed_cb() will be called");
-               if (__bt_get_bt_device_connection_info_s(&conn_info, (bt_connection_info_t *)(param->param_data))
-                       == BT_ERROR_NONE) {
-                       ((bt_device_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-                           (false, conn_info, bt_event_slot_container[event_index].user_data);
-                       __bt_free_bt_device_connection_info_s(conn_info);
-               }
-               break;
-       case BLUETOOTH_EVENT_RSSI_ENABLED:
-               BT_INFO("bt_rssi_monitor_enabled_cb() will be called");
-               bt_rssi_enabled_t *enabled = (bt_rssi_enabled_t *)(param->param_data);
-
-               if (_bt_check_cb(event_index)) {
-                       ((bt_rssi_monitor_enabled_cb)bt_event_slot_container[event_index].callback)
-                               (enabled->address, enabled->link_type, enabled->rssi_enabled,
-                                               bt_event_slot_container[event_index].user_data);
-                       _bt_unset_cb(BT_EVENT_RSSI_ENABLED_EVENT);
-               }
-               break;
-       case BLUETOOTH_EVENT_RSSI_ALERT: {
-               BT_INFO("bt_rssi_alert_cb() will be called");
-               int alert_type;
-               int rssi_dbm;
-               int link_type;
-               char *address;
-               bt_rssi_alert_t *rssi_alert = (bt_rssi_alert_t *)(param->param_data);;
-
-               alert_type = rssi_alert->alert_type;
-               rssi_dbm = rssi_alert->rssi_dbm;
-               address = rssi_alert->address;
-               link_type = rssi_alert->link_type;
-               if (_bt_check_cb(event_index)) {
-                       ((bt_rssi_alert_cb)bt_event_slot_container[event_index].callback)
-                               (address, link_type, alert_type, rssi_dbm,
-                                       bt_event_slot_container[event_index].user_data);
-               }
-               break;
-       }
-       case BLUETOOTH_EVENT_RAW_RSSI: {
-               BT_INFO("bt_rssi_strength_cb() will be called");
-               int rssi_dbm;
-               int link_type;
-               char *address;
-               bt_raw_rssi_t *raw_rssi = (bt_raw_rssi_t *)(param->param_data);;
-
-               rssi_dbm = raw_rssi->rssi_dbm;
-               address = raw_rssi->address;
-               link_type = raw_rssi->link_type;
-
-               if (_bt_check_cb(event_index)) {
-                       BT_INFO("BT Address [%s] Link Type[%d] RSSI dBm[%d]",
-                                       address, link_type, rssi_dbm);
-                       ((bt_rssi_strength_cb)bt_event_slot_container[event_index].callback)
-                               (address, link_type, rssi_dbm, bt_event_slot_container[event_index].user_data);
-                       _bt_unset_cb(BT_EVENT_GET_RSSI_EVENT);
-               }
-               break;
-       }
-       case BLUETOOTH_EVENT_SERVICE_SEARCHED:
-               BT_INFO("bt_device_service_searched_cb() will be called");
-               error_code = _bt_get_error_code(param->result);
-               /* In service search, BT_ERROR_SERVICE_SEARCH_FAILED is returned instead of BT_ERROR_OPERATION_FAILED. */
-               if (error_code == BT_ERROR_OPERATION_FAILED)
-                       error_code = BT_ERROR_SERVICE_SEARCH_FAILED;
-
-               if (__bt_get_bt_device_sdp_info_s(&sdp_info, (bt_sdp_info_t *)(param->param_data), error_code)
-                       == BT_ERROR_NONE) {
-                       ((bt_device_service_searched_cb)bt_event_slot_container[event_index].callback)
-                           (error_code, sdp_info, bt_event_slot_container[event_index].user_data);
-                       __bt_free_bt_device_sdp_info_s(sdp_info);
-               }
-               break;
-       case BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED:
-               /* BT_INFO("bt_socket_data_received_cb() will be * called"); */
-               ((bt_socket_data_received_cb)bt_event_slot_container[event_index].callback)
-                   ((bt_socket_received_data_s *)(param->param_data), bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_RFCOMM_CONNECTED:
-               BT_INFO("bt_socket_connection_state_changed_cb() will be called with BT_SOCKET_CONNECTED");
-               if (param->result == BLUETOOTH_ERROR_INVALID_PARAM)
-                       error_code = BT_ERROR_OPERATION_FAILED;
-               else
-                       error_code = _bt_get_error_code(param->result);
-
-               memset(&rfcomm_connection, 0x00, sizeof(bt_socket_connection_s));
-               connection_ind = (bluetooth_rfcomm_connection_t *)(param->param_data);
-
-               if (connection_ind) {
-                       rfcomm_connection.socket_fd = connection_ind->socket_fd;
-                       rfcomm_connection.local_role = connection_ind->device_role;
-                       rfcomm_connection.server_fd = connection_ind->server_id;
-
-                       if (strlen(connection_ind->uuid) > 0) {
-                               rfcomm_connection.service_uuid = strdup(connection_ind->uuid);
-                               BT_INFO("uuid: [%s]", rfcomm_connection.service_uuid);
-                       }
-
-                       _bt_convert_address_to_string(&(rfcomm_connection.remote_address),
-                                               &(connection_ind->device_addr));
-               }
-
-               ((bt_socket_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-                   (error_code, BT_SOCKET_CONNECTED, &rfcomm_connection, bt_event_slot_container[event_index].user_data);
-
-               if (rfcomm_connection.remote_address != NULL) {
-                       free(rfcomm_connection.remote_address);
-                       rfcomm_connection.remote_address = NULL;
-               }
-
-               if (rfcomm_connection.service_uuid != NULL) {
-                       free(rfcomm_connection.service_uuid);
-                       rfcomm_connection.service_uuid = NULL;
-               }
-
-               break;
-       case BLUETOOTH_EVENT_RFCOMM_DISCONNECTED:
-               BT_INFO("bt_socket_connection_state_changed_cb() will be called with BT_SOCKET_DISCONNECTED");
-
-               memset(&rfcomm_connection, 0x00, sizeof(bt_socket_connection_s));
-               disconnection_ind = (bluetooth_rfcomm_disconnection_t *)(param->param_data);
-
-               if (disconnection_ind) {
-                       rfcomm_connection.socket_fd = disconnection_ind->socket_fd;
-                       rfcomm_connection.local_role = disconnection_ind->device_role;
-
-                       if (strlen(disconnection_ind->uuid) > 0) {
-                               rfcomm_connection.service_uuid = strdup(disconnection_ind->uuid);
-                               BT_INFO("uuid: [%s]", rfcomm_connection.service_uuid);
-                       }
-
-                       _bt_convert_address_to_string(&(rfcomm_connection.remote_address),
-                                               &(disconnection_ind->device_addr));
-               }
-
-               ((bt_socket_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), BT_SOCKET_DISCONNECTED, &rfcomm_connection, bt_event_slot_container[event_index].user_data);
-
-               if (rfcomm_connection.remote_address != NULL) {
-                       free(rfcomm_connection.remote_address);
-                       rfcomm_connection.remote_address = NULL;
-               }
-
-               if (rfcomm_connection.service_uuid != NULL) {
-                       free(rfcomm_connection.service_uuid);
-                       rfcomm_connection.service_uuid = NULL;
-               }
-
-               break;
-       case BLUETOOTH_EVENT_RFCOMM_AUTHORIZE:
-               BT_INFO("bt_socket_connection_requested_cb() will be called");
-               reqeust_ind = (bluetooth_rfcomm_connection_request_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, &(reqeust_ind->device_addr));
-               ((bt_socket_connection_requested_cb)bt_event_slot_container[event_index].callback)
-                   (reqeust_ind->socket_fd, device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE:
-               BT_INFO("bt_opp_server_connection_requested_cb() will be called");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-               ((bt_opp_server_connection_requested_cb)bt_event_slot_container[event_index].callback)
-                   (device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE:
-               BT_INFO("bt_opp_server_push_requested_cb() will be called");
-               auth_info = (bt_obex_server_authorize_into_t *)(param->param_data);
-               ((bt_opp_server_push_requested_cb)bt_event_slot_container[event_index].callback)
-                   (auth_info->filename, auth_info->length, bt_event_slot_container[event_index].user_data);
-               break;
-
-       case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED:
-               BT_INFO("bt_opp_server_transfer_started_cb() will be called");
-               transfer_info = (bt_obex_server_transfer_info_t *)(param->param_data);
-               ((bt_opp_server_transfer_progress_cb)bt_event_slot_container[event_index].callback)
-                   (transfer_info->filename, transfer_info->file_size, 0, bt_event_slot_container[event_index].user_data);
-               break;
-
-       case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS:
-               BT_INFO("bt_opp_server_transfer_in_progress_cb() will be called");
-               transfer_info = (bt_obex_server_transfer_info_t *)(param->param_data);
-               ((bt_opp_server_transfer_progress_cb)bt_event_slot_container[event_index].callback)
-                   (transfer_info->filename, transfer_info->file_size, transfer_info->percentage, bt_event_slot_container[event_index].user_data);
-               break;
-
-       case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED:
-               BT_INFO("bt_opp_server_transfer_completed_cb() will be called");
-               transfer_info = (bt_obex_server_transfer_info_t *)(param->param_data);
-
-               ((bt_opp_server_transfer_finished_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), transfer_info->filename, transfer_info->file_size, bt_event_slot_container[event_index].user_data);
-
-               break;
-
-       case BLUETOOTH_EVENT_OPC_CONNECTED:
-               BT_INFO("bt_opp_client_push_responded_cb() will be called");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-
-               ((bt_opp_client_push_responded_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-
-       case BLUETOOTH_EVENT_OPC_DISCONNECTED:
-               BT_INFO("bt_opp_client_push_finished_cb() will be called");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-
-               ((bt_opp_client_push_finished_cb)bt_event_slot_container[event_index].callback)
-                   (_bt_get_error_code(param->result), device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-
-       case BLUETOOTH_EVENT_OPC_TRANSFER_STARTED:
-               BT_INFO("BLUETOOTH_EVENT_OPC_TRANSFER_STARTED");
-               /* This event don't be used in CAPI */
-               break;
-
-       case BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS:
-               BT_INFO("bt_opp_client_transfer_in_progress_cb() will be called");
-               client_info = (bt_opc_transfer_info_t *)(param->param_data);
-
-               /* Progress 100% event will be invoked by BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE*/
-               if (client_info->percentage != 100)
-                       ((bt_opp_client_push_progress_cb)bt_event_slot_container[event_index].callback)
-                           (client_info->filename, client_info->size, client_info->percentage, bt_event_slot_container[event_index].user_data);
-               break;
-
-       case BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE:
-               BT_INFO("BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE");
-               client_info = (bt_opc_transfer_info_t *)(param->param_data);
-
-               if (param->result == BLUETOOTH_ERROR_NONE)
-                       ((bt_opp_client_push_progress_cb)bt_event_slot_container[event_index].callback)
-                           (client_info->filename, client_info->size, 100, bt_event_slot_container[event_index].user_data);
-               break;
-
-       case BLUETOOTH_EVENT_MAP_CONNECTED:
-               BT_INFO("bt_map_client_??????????_cb() will be called");
-               break;
-
-       case BLUETOOTH_EVENT_MAP_DISCONNECTED:
-               BT_INFO("bt_map_client_??????????_cb() will be called");
-               break;
-       case BLUETOOTH_EVENT_MAP_LIST_FOLDERS_COMPLETE:
-               BT_INFO("BLUETOOTH_EVENT_MAP_LIST_FOLDERS_COMPLETE event");
-               break;
-
-       case BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE:
-               BT_INFO(" BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE event");
-               break;
-
-       case BLUETOOTH_EVENT_MAP_LIST_MESSAGES_COMPLETE:
-               BT_INFO("BLUETOOTH_EVENT_MAP_LIST_MESSAGES_COMPLETE event");
-               break;
-
-       case BLUETOOTH_EVENT_MAP_GET_MESSAGE_COMPLETE:
-               BT_INFO("BLUETOOTH_EVENT_MAP_GET_MESSAGE_COMPLETE event");
-               break;
-
-       case BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE:
-               BT_INFO("BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE event");
-               break;
-
-       case BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED");
-               break;
-
-       case BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED");
-               break;
-       case BLUETOOTH_EVENT_NETWORK_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_NETWORK_DISCONNECTED");
-               break;
-
-       case BLUETOOTH_EVENT_NETWORK_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_NETWORK_CONNECTED");
-               break;
-
-       case BLUETOOTH_EVENT_HDP_CONNECTED:
-               BT_INFO("HDP Connected ");
-               break;
-
-       case BLUETOOTH_EVENT_HDP_DISCONNECTED:
-               BT_INFO("HDP disconnected callback will be ");
-               break;
-       case BLUETOOTH_EVENT_HDP_DATA_RECEIVED:
-               BT_INFO("HDP data received callback will be ");
-               break;
-       case BLUETOOTH_EVENT_AG_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AG_CONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, device_addr, BT_AUDIO_PROFILE_TYPE_HSP_HFP,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AG_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AG_DISCONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, BT_AUDIO_PROFILE_TYPE_HSP_HFP,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_AUDIO_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_AUDIO_CONNECTED ");
-               ((bt_ag_sco_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_AUDIO_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_AUDIO_DISCONNECTED ");
-               ((bt_ag_sco_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_ANSWER_CALL:
-               call_data = (telephony_event_callid_t *)param->param_data;
-               call_id = call_data->callid;
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_ANSWER_CALL ");
-               ((bt_ag_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_CALL_HANDLING_EVENT_ANSWER, call_id,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL:
-               call_data = (telephony_event_callid_t *)param->param_data;
-               call_id = call_data->callid;
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL ");
-               ((bt_ag_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_CALL_HANDLING_EVENT_RELEASE, call_id,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_REJECT_CALL:
-               call_data = (telephony_event_callid_t *)param->param_data;
-               call_id = call_data->callid;
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_REJECT_CALL ");
-               ((bt_ag_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_CALL_HANDLING_EVENT_REJECT, call_id,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_CHLD_0_RELEASE_ALL_HELD_CALL:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_CHLD_0_RELEASE_ALL_HELD_CALL ");
-               ((bt_ag_multi_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_MULTI_CALL_HANDLING_EVENT_RELEASE_HELD_CALLS,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_CHLD_1_RELEASE_ALL_ACTIVE_CALL:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_CHLD_1_RELEASE_ALL_ACTIVE_CALL ");
-               ((bt_ag_multi_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_MULTI_CALL_HANDLING_EVENT_RELEASE_ACTIVE_CALLS,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_CHLD_2_ACTIVE_HELD_CALL:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_CHLD_2_ACTIVE_HELD_CALL ");
-               ((bt_ag_multi_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_MULTI_CALL_HANDLING_EVENT_ACTIVATE_HELD_CALL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_CHLD_3_MERGE_CALL:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_CHLD_3_MERGE_CALL ");
-               ((bt_ag_multi_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_MULTI_CALL_HANDLING_EVENT_MERGE_CALLS,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_CHLD_4_EXPLICIT_CALL_TRANSFER:
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_CHLD_4_EXPLICIT_CALL_TRANSFER ");
-               ((bt_ag_multi_call_handling_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_AG_MULTI_CALL_HANDLING_EVENT_EXPLICIT_CALL_TRANSFER,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_TELEPHONY_SEND_DTMF: {
-               telephony_event_dtmf_t *call_data = param->param_data;
-
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_SEND_DTMF ");
-               ((bt_ag_dtmf_transmitted_cb)bt_event_slot_container[event_index].callback)
-               (call_data->dtmf, bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_TELEPHONY_VENDOR_AT_CMD: {
-               char *vendor_cmd = param->param_data;
-
-               BT_INFO("BLUETOOTH_EVENT_TELEPHONY_VENDOR_AT_CMD");
-               ((bt_ag_vendor_cmd_cb)bt_event_slot_container[event_index].callback)
-               (vendor_cmd, bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_AG_SPEAKER_GAIN:
-               BT_INFO("BLUETOOTH_EVENT_AG_SPEAKER_GAIN");
-               int *spk_gain = (int *)(param->param_data);
-               ((bt_ag_speaker_gain_changed_cb)bt_event_slot_container[event_index].callback)
-               (*spk_gain, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AG_MIC_GAIN:
-               BT_INFO("BLUETOOTH_EVENT_AG_MIC_GAIN");
-               int *mik_gain = (int *)(param->param_data);
-               ((bt_ag_microphone_gain_changed_cb)bt_event_slot_container[event_index].callback)
-               (*mik_gain, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AG_AUDIO_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AG_AUDIO_CONNECTED");
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, NULL, BT_AUDIO_PROFILE_TYPE_HSP_HFP,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AG_AUDIO_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AG_AUDIO_DISCONNECTED");
-               device_addr = (char *)(param->param_data);
-
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, BT_AUDIO_PROFILE_TYPE_HSP_HFP,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AV_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AV_CONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, device_addr, BT_AUDIO_PROFILE_TYPE_A2DP,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AV_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AV_DISCONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, BT_AUDIO_PROFILE_TYPE_A2DP,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AV_SOURCE_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AV_SOURCE_CONNECTED");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb) bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, device_addr, BT_AUDIO_PROFILE_TYPE_A2DP_SINK,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb) bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, BT_AUDIO_PROFILE_TYPE_A2DP_SINK,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_avrcp_target_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (TRUE, device_addr, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_DISCONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_avrcp_target_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (FALSE, device_addr, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_SETTING_SHUFFLE_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_SETTING_SHUFFLE_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_shuffle_mode_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_shuffle_mode_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_SETTING_EQUALIZER_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_SETTING_EQUALIZER_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_equalizer_state_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_equalizer_state_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_SETTING_REPEAT_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_SETTING_REPEAT_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_repeat_mode_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_repeat_mode_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_SETTING_SCAN_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_SETTING_SCAN_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_scan_mode_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_scan_mode_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONTROL_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONTROL_CONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_avrcp_target_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (TRUE, device_addr, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONTROL_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONTROL_DISCONNECTED ");
-               device_addr = (char *)(param->param_data);
-               ((bt_avrcp_target_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (FALSE, device_addr, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONTROL_SHUFFLE_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONTROL_SHUFFLE_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_shuffle_mode_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_shuffle_mode_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONTROL_EQUALIZER_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONTROL_EQUALIZER_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_equalizer_state_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_equalizer_state_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONTROL_REPEAT_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONTROL_REPEAT_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_repeat_mode_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_repeat_mode_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_CONTROL_SCAN_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_CONTROL_SCAN_STATUS ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_scan_mode_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_scan_mode_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_PLAY_STATUS_CHANGED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_PLAY_STATUS_CHANGED ");
-               avrcp_mode = (int *)(param->param_data);
-               ((bt_avrcp_play_status_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_avrcp_player_state_e)*avrcp_mode, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS ");
-               unsigned int *postion = (unsigned int *)(param->param_data);
-               ((bt_avrcp_position_changed_cb)bt_event_slot_container[event_index].callback)
-               (*postion, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_DELAY_CHANGED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_DELAY_CHANGED ");
-               unsigned int *delay = (unsigned int *)(param->param_data);
-               ((bt_avrcp_delay_changed_cb)bt_event_slot_container[event_index].callback)
-               (*delay, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_AVRCP_TRACK_CHANGED:
-               BT_INFO("BLUETOOTH_EVENT_AVRCP_TRACK_CHANGED ");
-               bt_avrcp_metadata_attributes_info_s meta_info = {0, };
-               metadata = (media_metadata_attributes_t *)(param->param_data);
-               meta_info.title = metadata->title; /* No need to allocate memory*/
-               meta_info.artist = metadata->artist; /* No need to allocate memory*/
-               meta_info.album = metadata->album; /* No need to allocate memory*/
-               meta_info.genre = metadata->genre; /* No need to allocate memory*/
-               meta_info.total_tracks = metadata->total_tracks;
-               meta_info.number = metadata->number;
-               meta_info.duration = metadata->duration;
-               ((bt_avrcp_track_info_changed_cb)bt_event_slot_container[event_index].callback)
-               (&meta_info, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_HID_CONNECTED:
-               BT_INFO("BLUETOOTH_HID_CONNECTED");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-               ((bt_hid_host_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_HID_DISCONNECTED:
-               BT_INFO("BLUETOOTH_HID_DISCONNECTED");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-               ((bt_hid_host_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_HID_DEVICE_CONNECTED:
-               BT_INFO("BLUETOOTH_HID_DEVICE_CONNECTED");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-               ((bt_hid_device_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_HID_DEVICE_DISCONNECTED:
-               BT_INFO("BLUETOOTH_HID_DEVICE_DISCONNECTED");
-               bd_addr = (bluetooth_device_address_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, bd_addr);
-               ((bt_hid_device_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_HID_DEVICE_DATA_RECEIVED:
-               BT_INFO("HID Device Data");
-               ((bt_hid_device_data_received_cb)bt_event_slot_container[event_index].callback)
-                   ((bt_hid_device_received_data_s *)(param->param_data), bt_event_slot_container[event_index].user_data);
-               break;
-#ifdef TIZEN_GATT_CLIENT
-       /* Local is GATT server */
-       case BLUETOOTH_EVENT_GATT_SERVER_CONNECTED: {
-               bt_gatt_connection_state_changed_cb cb = NULL;
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_CONNECTED");
-               _bt_convert_address_to_string(&device_addr,
-                               (bluetooth_device_address_t *)(param->param_data));
-               BT_INFO("GATT Server Connected address[%s]", device_addr);
-               if (event_index >= 0)
-                       cb = bt_event_slot_container[event_index].callback;
-               if (cb)
-                       cb(_bt_get_error_code(param->result), TRUE, device_addr,
-                               bt_event_slot_container[event_index].user_data);
-
-               g_free(device_addr);
-               device_addr = NULL;
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED: {
-               bt_gatt_connection_state_changed_cb cb = NULL;
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED");
-               _bt_convert_address_to_string(&device_addr,
-                               (bluetooth_device_address_t *)(param->param_data));
-               if (event_index >= 0)
-                       cb = bt_event_slot_container[event_index].callback;
-               if (cb)
-                       cb(_bt_get_error_code(param->result), FALSE, device_addr,
-                               bt_event_slot_container[event_index].user_data);
-
-               g_free(device_addr);
-               device_addr = NULL;
-               break;
-       }
-       /* Local is GATT client */
-       case BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED: {
-               bt_gatt_client_s *client_s;
-               bt_gatt_connection_state_changed_cb cb = NULL;
-               BT_INFO("BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED");
-               _bt_convert_address_to_string(&device_addr,
-                               (bluetooth_device_address_t *)(param->param_data));
-               BT_INFO("GATT Connected address[%s] result [%d]", device_addr,
-                                       _bt_get_error_code(param->result));
-               client_s = (bt_gatt_client_s *)_bt_gatt_get_client(device_addr);
-
-               if (BT_ERROR_NONE == _bt_get_error_code(param->result)) {
-                       if (client_s && !client_s->services_discovered) {
-                               BT_INFO("GATT Connected but services are not discovered yet, start browse client id [%d]",
-                                               client_s->client_id);
-                               BT_INFO("GATT Client Connected address[%s]", device_addr);
-                               if (client_s)
-                                       client_s->connected = true;
-                               _bt_gatt_client_update_services(client_s);
-                       }
-               }
-
-               if (event_index >= 0)
-                       cb = bt_event_slot_container[event_index].callback;
-               if (cb)
-                       cb(_bt_get_error_code(param->result), TRUE, device_addr,
-                               bt_event_slot_container[event_index].user_data);
-               g_free(device_addr);
-               device_addr = NULL;
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED: {
-               bt_gatt_client_s *client_s;
-               bt_gatt_connection_state_changed_cb cb = NULL;
-               BT_INFO("BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED");
-               _bt_convert_address_to_string(&device_addr,
-                               (bluetooth_device_address_t *)(param->param_data));
-               client_s = (bt_gatt_client_s *)_bt_gatt_get_client(device_addr);
-               BT_INFO("GATT DisConnected address[%s] result [%d]", device_addr,
-                                       _bt_get_error_code(param->result));
-               if (client_s) {
-                       BT_INFO("GATT CLient instance present for addr [%s] client ID [%d]",
-                       client_s->remote_address, client_s->client_id);
-                       client_s->connected = false;
-                       /* Mark services not discovered */
-                       client_s->services_discovered = false;
-               }
-
-               if (event_index >= 0)
-                       cb = bt_event_slot_container[event_index].callback;
-               if (cb)
-                       cb(_bt_get_error_code(param->result), FALSE, device_addr,
-                               bt_event_slot_container[event_index].user_data);
-               g_free(device_addr);
-               device_addr = NULL;
-               break;
-       }
-#else
-       case BLUETOOTH_EVENT_GATT_CONNECTED: {
-               bt_gatt_client_s *client_s;
-               bt_gatt_connection_state_changed_cb cb = NULL;
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_CONNECTED");
-               _bt_convert_address_to_string(&device_addr,
-                               (bluetooth_device_address_t *)(param->param_data));
-               client_s = (bt_gatt_client_s *)_bt_gatt_get_client(device_addr);
-               if (client_s) {
-                       client_s->connected = true;
-                       _bt_gatt_client_update_services(client_s);
-               }
-               if (event_index >= 0)
-                       cb = bt_event_slot_container[event_index].callback;
-               if (cb)
-                       cb(_bt_get_error_code(param->result), TRUE, device_addr,
-                               bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               device_addr = NULL;
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_DISCONNECTED: {
-               bt_gatt_client_s *client_s;
-               bt_gatt_connection_state_changed_cb cb = NULL;
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_DISCONNECTED");
-               _bt_convert_address_to_string(&device_addr,
-                               (bluetooth_device_address_t *)(param->param_data));
-               client_s = (bt_gatt_client_s *)_bt_gatt_get_client(device_addr);
-               if (client_s)
-                       client_s->connected = false;
-               if (event_index >= 0)
-                       cb = bt_event_slot_container[event_index].callback;
-               if (cb)
-                       cb(_bt_get_error_code(param->result), FALSE, device_addr,
-                               bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               device_addr = NULL;
-               break;
-       }
-#endif
-       case BLUETOOTH_EVENT_GATT_CHAR_VAL_CHANGED:
-               BT_INFO("BLUETOOTH_EVENT_GATT_CHAR_VAL_CHANGED");
-#ifdef TIZEN_GATT_CLIENT
-               char_prop = (bt_gatt_char_property_t*)(param->param_data);
-
-               if (char_prop == NULL)
-                       return;
-               BT_INFO("Address [%s]", char_prop->address);
-               BT_INFO("Val len [%d]", char_prop->val_len);
-               BT_INFO("Event index [%d]", event_index);
-
-               ((_bt_gatt_client_val_changed_cb)bt_event_slot_container[event_index].callback)
-                       (char_prop->prop.uuid, char_prop->address, char_prop->value, char_prop->val_len,
-                       bt_event_slot_container[event_index].user_data);
-#else
-               char_val = (bt_gatt_char_value_t *)(param->param_data);
-
-               if (char_val == NULL)
-                       return;
-
-               ((_bt_gatt_client_value_changed_cb)bt_event_slot_container[event_index].callback)
-                       (char_val->char_handle, char_val->char_value, char_val->val_len,
-                       bt_event_slot_container[event_index].user_data);
-#endif
-               break;
-#ifdef TIZEN_GATT_CLIENT
-       case BLUETOOTH_EVENT_GATT_READ_CHAR:
-               BT_INFO("BLUETOOTH_EVENT_GATT_READ_CHAR");
-               _bt_handle_gatt_client_char_read_completed_event(param->result, param->param_data);
-               break;
-       case BLUETOOTH_EVENT_GATT_WRITE_CHAR:
-               BT_INFO("BLUETOOTH_EVENT_GATT_WRITE_CHAR");
-               _bt_handle_gatt_client_char_write_completed_event(param->result, param->param_data);
-               break;
-       case BLUETOOTH_EVENT_GATT_READ_DESC:
-               BT_INFO("BLUETOOTH_EVENT_GATT_READ_DESC");
-               _bt_handle_gatt_client_desc_read_completed_event(param->result, param->param_data);
-               break;
-       case BLUETOOTH_EVENT_GATT_WRITE_DESC:
-               BT_INFO("BLUETOOTH_EVENT_GATT_WRITE_DESC");
-               _bt_handle_gatt_client_desc_write_completed_event(param->result, param->param_data);
-               break;
-#else
-       case BLUETOOTH_EVENT_GATT_READ_CHAR:
-               BT_INFO("BLUETOOTH_EVENT_GATT_READ_CHAR");
-               _handle_gatt_client_read_completed_event(param->result,
-                                                        param->param_data);
-               break;
-       case BLUETOOTH_EVENT_GATT_WRITE_CHAR:
-               BT_INFO("BLUETOOTH_EVENT_GATT_WRITE_CHAR");
-               _handle_gatt_client_write_completed_event(param->result,
-                                                         param->param_data);
-               break;
-       case BLUETOOTH_EVENT_GATT_READ_DESC:
-               BT_INFO("BLUETOOTH_EVENT_GATT_READ_DESC");
-               _handle_gatt_client_read_completed_event(param->result,
-                                                        param->param_data);
-               break;
-       case BLUETOOTH_EVENT_GATT_WRITE_DESC:
-               BT_INFO("BLUETOOTH_EVENT_GATT_WRITE_DESC");
-               _handle_gatt_client_write_completed_event(param->result,
-                                                         param->param_data);
-               break;
-#endif
-       case BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED: {
-#ifdef TIZEN_FEATURE_GATT_RELAY
-               bluetooth_gatt_server_read_requested_info_t *read_req =
-                                               (bluetooth_gatt_server_read_requested_info_t *)(param->param_data);
-               bt_gatt_server_read_value_requested_cb cb_read;
-               void *user_data_read = NULL;
-               bt_gatt_h gatt_handle = NULL;
-               bt_gatt_server_h serv = NULL;
-
-               cb_read = __bt_gatt_attribute_get_read_cb(read_req->attribute_handle,
-                                                       &serv, &gatt_handle, &user_data_read);
-
-               /* Copy data */
-               _bt_convert_address_to_string(&device_addr, &read_req->device_address);
-
-               BT_INFO("GATT Server Read Req: Addr      [%s]", device_addr);
-               BT_INFO("GATT Server Read Req: Att handle[%d]", read_req->attribute_handle);
-               BT_INFO("GATT Server Read Req: Conn ID   [%d]", read_req->connection_id);
-               BT_INFO("GATT Server Read Req: Trans ID  [%d]", read_req->request_id);
-               BT_INFO("GATT Server Read Req: Offset    [%d]", read_req->offset);
-               BT_INFO("GATT Server Read Req: Is Long   [%d]", read_req->is_long);
-
-               if (cb_read == NULL) {
-                       BT_INFO("GATT Server: App has not set the Read requested callback..for the current handle");
-
-                       bt_gatt_server_send_response(read_req->request_id,
-                                                       BT_GATT_REQUEST_TYPE_READ, 0,
-                                                       BLUETOOTH_ERROR_INTERNAL, NULL, 0);
-
-                       BT_INFO("GATT Server: Internal response sent for Read Request");
-                       if (device_addr != NULL)
-                               free(device_addr);
-                       return;
-               }
-
-               cb_read(device_addr, read_req->request_id, serv, gatt_handle, read_req->offset, user_data_read);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-#else
-               bt_gatt_read_req_t *read_req = param->param_data;
-               bt_gatt_server_read_value_requested_cb cb;
-               void *user_data_read = NULL;
-               bt_gatt_h gatt_handle = NULL;
-
-               cb = __bt_gatt_attribute_get_read_cb(read_req->service_handle,
-                                               read_req->att_handle, &gatt_handle, &user_data_read);
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED");
-               if (cb == NULL) {
-                       bluetooth_gatt_send_response(read_req->req_id,
-                                                               BLUETOOTH_GATT_ATT_REQUEST_TYPE_READ,
-                                                               BLUETOOTH_ATT_ERROR_INTERNAL, 0, NULL, 0);
-                       return;
-               }
-
-               cb(read_req->address, read_req->req_id, read_req->service_handle,
-                                       gatt_handle, read_req->offset,
-                                       user_data_read);
-#endif
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_SERVER_VALUE_CHANGED: {
-#ifdef TIZEN_FEATURE_GATT_RELAY
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_WRITE_REQUESTED");
-               bt_gatt_server_write_value_requested_cb cb_wr;
-               void *user_data_write = NULL;
-               bt_gatt_h gatt_handle = NULL;
-               bt_gatt_h server = NULL;
-               bluetooth_gatt_server_write_requested_info_t *write_req =
-                                       (bluetooth_gatt_server_write_requested_info_t *)(param->param_data);
-
-               char *val = g_malloc0(write_req->length);
-
-               memcpy(val, write_req->data.data, write_req->length);
-               cb_wr = __bt_gatt_attribute_get_value_change_cb(write_req->attribute_handle,
-                                                               &server, &gatt_handle, &user_data_write);
-
-               /* Copy data */
-               _bt_convert_address_to_string(&device_addr, &write_req->device_address);
-
-               BT_INFO("GATT Server Write Req: Address    [%s]", device_addr);
-               BT_INFO("GATT Server Write Req: Att handle [%d]", write_req->attribute_handle);
-               BT_INFO("GATT Server Write Req: Conn ID    [%d]", write_req->connection_id);
-               BT_INFO("GATT Server Write Req: Trans ID   [%d]", write_req->request_id);
-               BT_INFO("GATT Server Write Req: Offset     [%d]", write_req->offset);
-               BT_INFO("GATT Server Write Req: Length     [%d]", write_req->length);
-               BT_INFO("GATT Server Write Req: Need Resp  [%d]", write_req->need_resp);
-
-               if (cb_wr == NULL) {
-                       BT_INFO("GATT Server: App has not set the Write requested callback..for the current handle");
-
-                       if (write_req->need_resp) {
-                               BT_INFO("GATT Server: Send Response to Remote GATT client");
-
-                               bt_gatt_server_send_response(write_req->request_id,
-                                                               BT_GATT_REQUEST_TYPE_WRITE, 0,
-                                                               BLUETOOTH_ERROR_INTERNAL, NULL, 0);
-
-                               BT_INFO("GATT Server: Internal response sent for Write Request");
-                       }
-
-                       /* Free Data */
-                       if (val != NULL)
-                               g_free(val);
-                       if (device_addr != NULL)
-                               free(device_addr);
-                       return;
-               }
-
-               cb_wr(device_addr, write_req->request_id, server, gatt_handle,
-                               write_req->need_resp, write_req->offset,
-                               val, write_req->length, user_data_write);
-
-               /* Free Data */
-               if (val != NULL)
-                       g_free(val);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-#else
-               bt_gatt_value_change_t *value_change = param->param_data;
-               bt_gatt_server_write_value_requested_cb cb;
-               void *user_data_write = NULL;
-               bt_gatt_h gatt_handle = NULL;
-               cb = __bt_gatt_attribute_get_value_change_cb(value_change->service_handle,
-                                               value_change->att_handle, &gatt_handle, &user_data_write);
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_VALUE_CHANGE");
-               if (cb == NULL) {
-                       if (value_change->response_needed == FALSE)
-                               return;
-
-                       bluetooth_gatt_send_response(value_change->req_id,
-                                                               BLUETOOTH_GATT_ATT_REQUEST_TYPE_WRITE,
-                                                               BLUETOOTH_ATT_ERROR_INTERNAL, 0, NULL, 0);
-                       return;
-               }
-
-               cb(value_change->address, value_change->req_id, value_change->service_handle,
-                                       gatt_handle, (bool)value_change->response_needed, value_change->offset,
-                                       (char *)value_change->att_value, value_change->val_len, user_data_write);
-#endif
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_STATE_CHANGED: {
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_STATE_CHANGED");
-#ifdef TIZEN_FEATURE_GATT_RELAY
-               bluetooth_gatt_server_notification_changed_t *notif_info =
-                                       (bluetooth_gatt_server_notification_changed_t*)(param->param_data);
-
-               bt_gatt_server_characteristic_notification_state_changed_cb cb;
-               bt_gatt_server_h server_handle = NULL;
-               bt_gatt_h char_handle = NULL;
-               void *user_data_cfm = NULL;
-
-               cb = __bt_gatt_attribute_get_notification_change_cb(&server_handle,
-                                               notif_info->handle, &char_handle, &user_data_cfm);
-
-               if (cb == NULL) {
-                       BT_INFO("cb is NULL");
-                       return;
-               }
-
-               cb(notif_info->notification, server_handle, char_handle, user_data_cfm);
-#else
-               bt_gatt_char_notify_change_t *value_change = param->param_data;
-               bt_gatt_server_characteristic_notification_state_changed_cb cb;
-               void *user_data_cfm = NULL;
-               bt_gatt_h gatt_handle = NULL;
-               cb = __bt_gatt_attribute_get_notification_change_cb(value_change->service_handle,
-                                               value_change->att_handle, &gatt_handle, &user_data_cfm);
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_STATE_CHANGED");
-               if (cb == NULL)
-                       return;
-
-               cb(value_change->att_notify, value_change->service_handle,
-                               gatt_handle, user_data_cfm);
-#endif
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_COMPLETED: {
-#ifdef TIZEN_FEATURE_GATT_RELAY
-               bluetooth_gatt_server_indicate_confirmed_info_t *cfm_info =
-                                       (bluetooth_gatt_server_indicate_confirmed_info_t*)(param->param_data);
-               bt_gatt_server_notification_sent_cb cb;
-               bt_gatt_server_h server_handle = NULL;
-               bt_gatt_h char_handle = NULL;
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_COMPLETED");
-
-               void *user_data_cfm = NULL;
-
-               cb = __bt_gatt_attribute_get_notification_completed_cb(&server_handle,
-                                       cfm_info->handle, &char_handle, &user_data_cfm);
-
-               if (cb == NULL)
-                       return;
-
-               /* Copy data */
-               _bt_convert_address_to_string(&device_addr, &cfm_info->device_address);
-
-               cb(_bt_get_error_code(param->result), device_addr,
-                                       server_handle, char_handle,
-                                       cfm_info->completed, user_data_cfm);
-
-               /* Free Data */
-               if (device_addr != NULL)
-                       free(device_addr);
-#else
-               bt_gatt_indicate_confirm_t *confrim_status = param->param_data;
-               bt_gatt_server_notification_sent_cb cb;
-               void *local_user_data = NULL;
-               cb = __bt_gatt_attribute_get_notification_completed_cb(confrim_status->service_handle,
-                                               confrim_status->att_handle, &local_user_data);
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_COMPLETED");
-               if (cb == NULL)
-                       return;
-
-               cb(_bt_get_error_code(param->result), confrim_status->address,
-                               confrim_status->service_handle,
-                               confrim_status->att_handle, confrim_status->complete, local_user_data);
-#endif
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_SERVER_CHARACTERISTIC_VALUE_CHANGED: {
-               const GSList *server_list = NULL;
-               BT_INFO("BLUETOOTH_EVENT_GATT_SERVER_CHARACTERISTIC_VALUE_CHANGED");
-
-               char_val = (bt_gatt_char_value_t *)(param->param_data);
-
-               if (char_val == NULL)
-                       return;
-
-               for (server_list = _bt_gatt_get_server_list() ; server_list; server_list = g_slist_next(server_list)) {
-                       bt_gatt_server_s *serv = (bt_gatt_server_s *)server_list->data;
-                       GSList *service_list = NULL;
-
-                       for (service_list = serv->services; service_list; service_list = g_slist_next(service_list)) {
-                               bt_gatt_service_s *svc = (bt_gatt_service_s *)service_list->data;
-                               GSList *char_list = NULL;
-
-                               for (char_list = svc->characteristics; char_list; char_list = g_slist_next(char_list)) {
-                                       bt_gatt_characteristic_s *chr = (bt_gatt_characteristic_s *)char_list->data;
-
-                                       if (chr && g_strcmp0(char_val->char_handle, chr->path) == 0) {
-                                               g_free(chr->value);
-                                               chr->value = NULL;
-                                               if (char_val->val_len > 0)
-                                                       chr->value = g_memdup(char_val->char_value, char_val->val_len);
-                                               chr->value_length = char_val->val_len;
-                                               /* TODO : Fix build error temporary */
-                                               if (chr->write_value_requested_cb)
-                                                       chr->write_value_requested_cb(NULL, 0, (bt_gatt_server_h)serv, (bt_gatt_h)chr,
-                                                                                       TRUE, 0, (char *)char_val->char_value, char_val->val_len,
-                                                                                       chr->write_value_requested_user_data);
-                                       }
-                               }
-                       }
-               }
-               break;
-       }
-       case BLUETOOTH_EVENT_GATT_CLIENT_SERVICE_CHANGED: {
-               bt_gatt_service_change_t *service_change =
-                       (bt_gatt_service_change_t *)(param->param_data);
-               const GSList *l = NULL;
-               bt_gatt_client_s *client = NULL;
-               bt_gatt_service_s *svc = NULL;
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_CLIENT_SERVICE_CHANGED");
-
-               if (service_change == NULL) {
-                       BT_ERR("service_change is NULL");
-                       return;
-               }
-
-               _bt_convert_address_to_string(&device_addr,
-                               &service_change->device_addr);
-
-               client = _bt_gatt_get_client(device_addr);
-               if (device_addr != NULL)
-                       free(device_addr);
-               device_addr = NULL;
-
-               if (client == NULL) {
-                       BT_ERR("There is NO matched client");
-                       break;
-               }
-
-               if (service_change->change_type
-                               == BLUETOOTH_GATT_SERVICE_CHANGE_TYPE_ADD) {
-                       for (l = client->services; l; l = g_slist_next(l)) {
-                               svc = l->data;
-                               if (!g_strcmp0(svc->path, service_change->svc_path))
-                                       break;
-                       }
-                       if (l) {
-                               BT_INFO("already added service : %s", svc->path);
-                               break;
-                       }
-#ifdef TIZEN_GATT_CLIENT
-                       BT_INFO("TODO this task");
-#else
-                       svc = _bt_gatt_client_add_service(client,
-                                       service_change->svc_path);
-#endif
-                       if (svc == NULL) {
-                               BT_ERR("_bt_gatt_client_add_service is failed");
-                               break;
-                       }
-
-                       if (client->connected && client->service_changed_cb)
-                               client->service_changed_cb(client,
-                                               BT_GATT_CLIENT_SERVICE_ADDED,
-                                               svc->uuid,
-                                               client->service_changed_user_data);
-               } else {
-                       char *removed_uuid = NULL;
-
-                       for (l = client->services; l; l = g_slist_next(l)) {
-                               svc = l->data;
-                               if (!g_strcmp0(svc->path, service_change->svc_path))
-                                       break;
-                       }
-                       if (!l) {
-                               BT_ERR("There is NO matched service");
-                               break;
-                       }
-
-                       removed_uuid = g_strdup(svc->uuid);
-                       bt_gatt_service_destroy((bt_gatt_h)svc);
-
-                       if (client->connected && client->service_changed_cb)
-                               client->service_changed_cb(client,
-                                               BT_GATT_CLIENT_SERVICE_REMOVED,
-                                               removed_uuid,
-                                               client->service_changed_user_data);
-                       g_free(removed_uuid);
-               }
-               break;
-       }
-/* LCOV_EXCL_STOP */
-       case BLUETOOTH_EVENT_ADVERTISING_STARTED:
-               BT_INFO("BLUETOOTH_EVENT_ADVERTISING_STARTED");
-               adv_handle = (int *)(param->param_data);
-
-               _bt_adapter_le_invoke_advertising_state_cb(*adv_handle,
-                               _bt_get_error_code(param->result), BT_ADAPTER_LE_ADVERTISING_STARTED);
-
-               break;
-       case BLUETOOTH_EVENT_ADVERTISING_STOPPED:
-               BT_INFO("BLUETOOTH_EVENT_ADVERTISING_STOPPED"); /* LCOV_EXCL_START */
-               adv_handle = (int *)(param->param_data);
-
-               _bt_adapter_le_invoke_advertising_state_cb(*adv_handle,
-                               _bt_get_error_code(param->result), BT_ADAPTER_LE_ADVERTISING_STOPPED); /* LCOV_EXCL_STOP */
-
-               break;
-       case BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED: /* LCOV_EXCL_START */
-               BT_INFO("BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED");
-
-               ((bt_adapter_manufacturer_data_changed_cb)bt_event_slot_container[event_index].callback)
-                (param->param_data, param->result,
-                 bt_event_slot_container[event_index].user_data);
-
-               break;
-
-       case BLUETOOTH_EVENT_PASSKEY_NOTIFICATION: {
-               const char *address = NULL;
-               const char *passkey = NULL;
-               const char **passkey_info = param->param_data;
-               BT_INFO("BLUETOOTH_EVENT_PASSKEY_NOTIFICATION");
-
-               address = passkey_info[0];
-               passkey = passkey_info[1];
-
-               ((bt_adapter_passkey_notification_cb)bt_event_slot_container[event_index].callback)
-                (address, passkey, bt_event_slot_container[event_index].user_data);
-
-               break;
-       }
-       case BLUETOOTH_EVENT_IPSP_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_IPSP_CONNECTED");
-               break;
-       case BLUETOOTH_EVENT_IPSP_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_IPSP_DISCONNECTED");
-               break;
-       case BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED: {
-               bt_gatt_client_att_mtu_info_s *mtu_info = NULL;
-               bt_gatt_client_s *client = NULL;
-
-               BT_INFO("BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED");
-               __bt_get_bt_gatt_client_att_mtu_info_s(&mtu_info, (bluetooth_le_att_mtu_info_t *)(param->param_data));
-
-               client = _bt_gatt_get_client(mtu_info->remote_address);
-
-               if (client && client->connected && client->att_mtu_changed_cb)
-                       client->att_mtu_changed_cb(client,
-                                       (const bt_gatt_client_att_mtu_info_s *)mtu_info,
-                                       client->att_mtu_changed_user_data);
-
-               if (bt_event_slot_container[event_index].callback)
-                       ((bt_device_att_mtu_changed_cb)bt_event_slot_container[event_index].callback)
-                        (_bt_get_error_code(param->result), (bt_device_att_mtu_info_s *)mtu_info,
-                        bt_event_slot_container[event_index].user_data);
-
-               g_free(mtu_info);
-
-               break;
-       }
-       case BLUETOOTH_EVENT_LE_DATA_LENGTH_CHANGED:
-               BT_INFO("__bt_le_set_data_length_changed_cb() will be called");
-               data_length_info = (bt_le_data_length_params_t *)(param->param_data);
-               _bt_convert_address_to_string(&device_addr, &data_length_info->device_address);
-
-               ((_bt_le_set_data_length_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), device_addr, data_length_info->max_tx_octets,
-               data_length_info->max_tx_time, data_length_info->max_rx_octets, data_length_info->max_rx_time,
-               bt_event_slot_container[event_index].user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-               break;
-       case BLUETOOTH_PBAP_CONNECTED: {
-               bt_pbap_connection_state_changed_cb cb = bt_event_slot_container[event_index].callback;
-               void *user_data_pbap = bt_event_slot_container[event_index].user_data;
-               bt_pbap_connected_t *connected = (bt_pbap_connected_t *)param->param_data;
-
-               BT_INFO("BLUETOOTH_PBAP_CONNECTED");
-
-               _bt_convert_address_to_string(&device_addr, &connected->btaddr);
-               cb(_bt_get_error_code(param->result), true, device_addr, user_data_pbap);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               break;
-       }
-       case BLUETOOTH_PBAP_DISCONNECTED: {
-               bt_pbap_connection_state_changed_cb cb = bt_event_slot_container[event_index].callback;
-               void *user_data_pbap = bt_event_slot_container[event_index].user_data;
-               bt_pbap_connected_t *connected = (bt_pbap_connected_t *)param->param_data;
-
-               BT_INFO("BLUETOOTH_PBAP_DISCONNECTED");
-
-               _bt_convert_address_to_string(&device_addr, &connected->btaddr);
-               cb(_bt_get_error_code(param->result), false, device_addr, user_data_pbap);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               break;
-       }
-       case BLUETOOTH_PBAP_PHONEBOOK_SIZE: {
-               bt_pbap_phone_book_size_cb cb = bt_event_slot_container[event_index].callback;
-               void *user_data_pbap = bt_event_slot_container[event_index].user_data;
-               bt_pbap_phonebook_size_t *pb_size = (bt_pbap_phonebook_size_t *)param->param_data;
-
-               BT_INFO("BLUETOOTH_PBAP_PHONEBOOK_SIZE");
-
-               _bt_unset_cb(BT_EVENT_PBAP_PHONEBOOK_SIZE);
-               _bt_convert_address_to_string(&device_addr, &pb_size->btaddr);
-               cb(_bt_get_error_code(param->result), device_addr, pb_size->size, user_data_pbap);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               break;
-       }
-       case BLUETOOTH_PBAP_PHONEBOOK_PULL: {
-               bt_pbap_phone_book_received_cb cb = bt_event_slot_container[event_index].callback;
-               void *user_data_pbap = bt_event_slot_container[event_index].user_data;
-               bt_pbap_phonebook_pull_t *pb_pull = (bt_pbap_phonebook_pull_t *)(param->param_data);
-
-               BT_INFO("BLUETOOTH_PBAP_PHONEBOOK_PULL");
-
-               _bt_unset_cb(BT_EVENT_PBAP_PHONEBOOK_PULL);
-               _bt_convert_address_to_string(&device_addr, &pb_pull->btaddr);
-               cb(_bt_get_error_code(param->result), device_addr,
-                       (const char *)pb_pull->vcf_file, user_data_pbap);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               break;
-       }
-       case BLUETOOTH_PBAP_VCARD_LIST: {
-               int i;
-               bt_pbap_list_vcards_cb cb = bt_event_slot_container[event_index].callback;
-               void *user_data_pbap = bt_event_slot_container[event_index].user_data;
-               bt_pbap_vcard_list_t *vc_list = (bt_pbap_vcard_list_t *)(param->param_data);
-               bt_pbap_vcard_info_s *vcard_info = NULL;
-
-               BT_INFO("BLUETOOTH_PBAP_VCARD_LIST");
-
-               if (vc_list->length > 0) {
-                       vcard_info = g_malloc0(vc_list->length * sizeof(bt_pbap_vcard_info_s));
-                       for (i = 0; i < vc_list->length; i++) {
-                               vcard_info[i].contact_name = g_strdup(vc_list->vcards[i]);
-                       }
-               }
-
-               _bt_unset_cb(BT_EVENT_PBAP_VCARD_LIST);
-               _bt_convert_address_to_string(&device_addr, &vc_list->btaddr);
-               cb(_bt_get_error_code(param->result), device_addr,
-                       (const bt_pbap_vcard_info_s *)vcard_info, vc_list->length,
-                       user_data_pbap);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               if (vcard_info != NULL) {
-                       for (i = 0; i < vc_list->length; i++)
-                               g_free((char *)vcard_info[i].contact_name);
-                       g_free(vcard_info);
-               }
-               break;
-       }
-       case BLUETOOTH_PBAP_VCARD_PULL: {
-               bt_pbap_phone_book_received_cb cb = bt_event_slot_container[event_index].callback;
-               void *user_data_pbap = bt_event_slot_container[event_index].user_data;
-               bt_pbap_vcard_pull_t *vc_pull = (bt_pbap_vcard_pull_t *)(param->param_data);
-
-               BT_INFO("BLUETOOTH_PBAP_VCARD_PULL");
-
-               _bt_unset_cb(BT_EVENT_PBAP_VCARD_PULL);
-               _bt_convert_address_to_string(&device_addr, &vc_pull->btaddr);
-               cb(_bt_get_error_code(param->result), device_addr,
-                       (const char *)vc_pull->vcf_file, user_data_pbap);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               break;
-       }
-       case BLUETOOTH_PBAP_PHONEBOOK_SEARCH: {
-               int i;
-               bt_pbap_list_vcards_cb cb = bt_event_slot_container[event_index].callback;
-               void *local_user_data = bt_event_slot_container[event_index].user_data;
-               bt_pbap_phonebook_search_list_t *vc_list = (bt_pbap_phonebook_search_list_t *)(param->param_data);
-               bt_pbap_vcard_info_s *vcard_info = NULL;
-
-               if (vc_list->length > 0) {
-                       vcard_info = g_malloc0(vc_list->length * sizeof(bt_pbap_vcard_info_s));
-                       for (i = 0; i < vc_list->length; i++) {
-                               vcard_info[i].contact_name = g_strdup(vc_list->vcards[i]);
-                       }
-               }
-
-               BT_INFO("BLUETOOTH_PBAP_PHONEBOOK_SEARCH");
-
-               _bt_unset_cb(BT_EVENT_PBAP_PHONEBOOK_SEARCH);
-               _bt_convert_address_to_string(&device_addr, &vc_list->btaddr);
-               cb(_bt_get_error_code(param->result), device_addr,
-                       (const bt_pbap_vcard_info_s *)vcard_info, vc_list->length,
-                       local_user_data);
-
-               if (device_addr != NULL)
-                       free(device_addr);
-
-               if (vcard_info != NULL) {
-                       for (i = 0; i < vc_list->length; i++)
-                               g_free((char *)vcard_info[i].contact_name);
-                       g_free(vcard_info);
-               }
-               break;
-       }
-       case BLUETOOTH_EVENT_HF_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_HF_CONNECTED");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE, device_addr, BT_AUDIO_PROFILE_TYPE_AG,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_HF_DISCONNECTED");
-               device_addr = (char *)(param->param_data);
-               ((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE, device_addr, BT_AUDIO_PROFILE_TYPE_AG,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_AUDIO_CONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_HF_AUDIO_CONNECTED");
-               device_addr = (char *)(param->param_data);
-               ((bt_hf_sco_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), TRUE,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED:
-               BT_INFO("BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED");
-               device_addr = (char *)(param->param_data);
-               ((bt_hf_sco_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (_bt_get_error_code(param->result), FALSE,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_RING_INDICATOR:
-               BT_INFO("BLUETOOTH_EVENT_HF_RING_INDICATOR");
-               phone_number = (char *)(param->param_data);
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_RINGING, phone_number,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_TERMINATED:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_TERMINATED");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_CALL_TERMINATED, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_FAILED_TO_DIALING, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_IDLE:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_IDLE");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_IDLE, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_INCOMING, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALLSETUP_DIALING:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALLSETUP_DIALING");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_DIALING, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_ALERTING, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_STARTED:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_STARTED");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_CALL_STARTED, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_ENDED:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_ENDED");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_CALL_ENDED, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED:
-               BT_INFO("BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED");
-               ((bt_hf_remote_device_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_DEVICE_STATE_VOICE_RECOGNITON, TRUE,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED:
-               BT_INFO("BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED");
-               ((bt_hf_remote_device_state_changed_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_DEVICE_STATE_VOICE_RECOGNITON, FALSE,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_WAITING:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_WAITING");
-               phone_number = (char *)(param->param_data);
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_WAITING, phone_number,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_ON_HOLD:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_ON_HOLD");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_HELD, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_UNHOLD:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_UNHOLD");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_UNHELD, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_CALL_SWAPPED:
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_SWAPPED");
-               ((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
-               (BT_HF_REMOTE_CALL_EVENT_SWAPPED, NULL,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD: {
-               BT_INFO("BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD");
-               bluetooth_vendor_dep_at_cmd_t *cmd = (bluetooth_vendor_dep_at_cmd_t *)(param->param_data);
-               bt_hf_vendor_dep_at_cmd_s command = {0, };
-               command.app_id = cmd->app_id;
-               command.message = strdup(cmd->message);
-               ((bt_hf_vendor_dep_cmd_event_cb)bt_event_slot_container[event_index].callback)
-               (command, bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_HF_VOLUME_SPEAKER: {
-               BT_INFO("BLUETOOTH_EVENT_HF_VOLUME_SPEAKER");
-               int *spk_gain = (int *)(param->param_data);
-               ((bt_hf_speaker_gain_changed_cb)bt_event_slot_container[event_index].callback)
-               (*spk_gain, bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_HF_CALL_STATUS: {
-               BT_INFO("BLUETOOTH_EVENT_HF_CALL_STATUS");
-               bt_hf_call_list_s *handle = (bt_hf_call_list_s *)(param->param_data);
-               GList *l = NULL;
-               GSList *call_list = NULL;
-
-               for (l = g_list_first(handle->list); l; l = g_list_next(l)) {
-                       bt_hf_call_status_info_t *hf_call_info = l->data;
-                       bt_hf_call_status_info_s *call_info = NULL;
-
-                       call_info = g_malloc0(sizeof(bt_hf_call_status_info_s));
-                       call_info->number = strdup(hf_call_info->number);
-                       call_info->direction = hf_call_info->direction;
-                       call_info->status = hf_call_info->status;
-                       call_info->multi_party = hf_call_info->mpart;
-                       call_info->index = hf_call_info->idx;
-                       call_list = g_slist_append(call_list, call_info);
-               }
-
-               ((bt_hf_call_status_updated_event_cb)bt_event_slot_container[event_index].callback)
-               (call_list, bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED: {
-               bluetooth_hf_ciev_device_event_t *device_event = (bluetooth_hf_ciev_device_event_t *)(param->param_data);
-
-               BT_INFO("BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED (status %d)(value %d)",
-                       device_event->event, device_event->value);
-
-               ((bt_hf_remote_device_state_changed_cb)bt_event_slot_container[event_index].callback)
-               ((bt_hf_remote_device_state_e) device_event->event, device_event->value,
-               bt_event_slot_container[event_index].user_data);
-               break;
-       }
-       case BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED: {
-               BT_DBG("BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_PXP_PROPERTY_CHANGED: {
-               BT_DBG("BLUETOOTH_EVENT_PXP_PROPERTY_CHANGED"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_TDS_ACTIVATION_REQUESTED: {
-               BT_DBG("BLUETOOTH_EVENT_TDS_ACTIVATION_REQUESTED"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_TDS_TRANSPORT_DATA_RECEIVED: {
-               BT_DBG("BLUETOOTH_EVENT_TDS_TRANSPORT_DATA_RECEIVED"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_TDS_ACTIVATION_RESULT: {
-               BT_DBG("BLUETOOTH_EVENT_TDS_ACTIVATION_RESULT"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_TDS_CONTROL_POINT_ENABLED: {
-               BT_DBG("BLUETOOTH_EVENT_TDS_CONTROL_POINT_ENABLED"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_TDS_ACTIVATION_INDICATION: {
-               BT_DBG("BLUETOOTH_EVENT_TDS_ACTIVATION_INDICATION"); /* LCOV_EXCL_LINE */
-               break;
-       }
-       case BLUETOOTH_EVENT_OTP_SERVER_STATE_CHANGED: {
-               break;
-       }
-       case BLUETOOTH_EVENT_OTP_READ_CHAR_VAL: {
-               break;
-       }
-       case BLUETOOTH_EVENT_OTP_WRITE_CHAR_VAL: {
-               break;
-       }
-       case BLUETOOTH_EVENT_OTP_NOTIFICATION_ENABLED: {
-               break;
-       }
-       case BLUETOOTH_EVENT_OTP_INDICATION: {
-               break;
-       }
-       case BLUETOOTH_EVENT_OTC_STATE_CHANGED: {
-               break;
-       }
-       default:
-               BT_INFO("Unknown function");
-               break;
-       }
-}
-/* LCOV_EXCL_STOP */
-
-static void __bt_le_event_proxy(int event, bluetooth_event_param_t *param, void *user_data)
-{
-       bt_adapter_le_device_scan_result_info_s *scan_info = NULL;
-       int event_index = -1;
-
-       event_index = __bt_get_cb_index(event);
-       if (event == BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND)
-               BT_INFO("Need to check 2 slots in the case");
-       else if (event_index == -1 || bt_event_slot_container[event_index].callback == NULL)
-               return;
-
-       switch (event) {
-       case BLUETOOTH_EVENT_LE_ENABLED:
-               BT_INFO("BLUETOOTH_EVENT_LE_ENABLED"); /* LCOV_EXCL_LINE */
-               ((bt_adapter_le_state_changed_cb) bt_event_slot_container[event_index].callback) /* LCOV_EXCL_LINE */
-                   (_bt_get_error_code(param->result), BT_ADAPTER_LE_ENABLED, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_LE_DISABLED:
-               BT_INFO("BLUETOOTH_EVENT_LE_DISABLED"); /* LCOV_EXCL_LINE */
-               ((bt_adapter_le_state_changed_cb) bt_event_slot_container[event_index].callback) /* LCOV_EXCL_LINE */
-                   (_bt_get_error_code(param->result), BT_ADAPTER_LE_DISABLED, bt_event_slot_container[event_index].user_data);
-               break;
-       case BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND: /* LCOV_EXCL_START */
-               BT_INFO("BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND");
-               event_index = BT_EVENT_LE_SCAN_RESULT_UPDATED;
-               if (bt_event_slot_container[event_index].callback != NULL) {
-                       if (__bt_get_bt_adapter_le_device_scan_info_s(&scan_info, (bluetooth_le_device_info_t *)(param->param_data)) == BT_ERROR_NONE) {
-                               ((bt_adapter_le_scan_result_cb)bt_event_slot_container[event_index].callback)
-                                       (_bt_get_error_code(param->result), scan_info, bt_event_slot_container[event_index].user_data);
-                       } else {
-                               ((bt_adapter_le_scan_result_cb)bt_event_slot_container[event_index].callback)
-                                       (_bt_get_error_code(param->result), NULL, bt_event_slot_container[event_index].user_data);
-                       }
-               }
-
-               if (scan_info)
-                       __bt_free_bt_adapter_le_device_scan_info_s(scan_info);
-               break;
-       default:
-               break;
-       }
-}
-/* LCOV_EXCL_STOP */
-
-/* LCOV_EXCL_START */
-static int __bt_get_bt_adapter_device_discovery_info_s(bt_adapter_device_discovery_info_s **discovery_info, bluetooth_device_info_t *source_info)
-{
-       int i;
-
-       BT_CHECK_INPUT_PARAMETER(source_info);
-
-       *discovery_info = (bt_adapter_device_discovery_info_s *)malloc(sizeof(bt_adapter_device_discovery_info_s));
-       if (*discovery_info == NULL)
-               return BT_ERROR_OUT_OF_MEMORY;
-
-       if (strlen(source_info->device_name.name) > 0)
-               (*discovery_info)->remote_name = strdup(source_info->device_name.name);
-       else
-               (*discovery_info)->remote_name = NULL;
-
-       _bt_convert_address_to_string(&((*discovery_info)->remote_address), &(source_info->device_address));
-
-       (*discovery_info)->bt_class.major_device_class = source_info->device_class.major_class;
-       (*discovery_info)->bt_class.minor_device_class = source_info->device_class.minor_class;
-       (*discovery_info)->bt_class.major_service_class_mask = source_info->device_class.service_class;
-
-       if (source_info->service_index > 0) {
-               (*discovery_info)->service_uuid = (char **)malloc(sizeof(char *) *source_info->service_index);
-               if ((*discovery_info)->service_uuid != NULL) {
-                       for (i = 0; i < source_info->service_index; i++) {
-                               (*discovery_info)->service_uuid[i] = strdup(source_info->uuids[i]);
-                               if ((*discovery_info)->service_uuid[i] != NULL)
-                                       __bt_convert_lower_to_upper((*discovery_info)->service_uuid[i]);
-
-                       }
-               }
-       } else
-               (*discovery_info)->service_uuid = NULL;
-
-       (*discovery_info)->service_count = source_info->service_index;
-
-       (*discovery_info)->rssi = (int)source_info->rssi;
-       (*discovery_info)->is_bonded = (bool)source_info->paired;
-
-       (*discovery_info)->appearance = 0;
-
-       (*discovery_info)->manufacturer_data_len = source_info->manufacturer_data.data_len;
-       if ((*discovery_info)->manufacturer_data_len > 0) {
-               (*discovery_info)->manufacturer_data = malloc(source_info->manufacturer_data.data_len);
-               memcpy((*discovery_info)->manufacturer_data, source_info->manufacturer_data.data, source_info->manufacturer_data.data_len);
-       } else {
-               (*discovery_info)->manufacturer_data = NULL;
-       }
-
-       return BT_ERROR_NONE;
-}
-
-static void __bt_free_bt_adapter_device_discovery_info_s(bt_adapter_device_discovery_info_s *discovery_info)
-{
-       int i;
-
-       if (discovery_info == NULL)
-               return;
-
-       if (discovery_info->remote_name != NULL)
-               free(discovery_info->remote_name);
-
-       if (discovery_info->remote_address != NULL)
-               free(discovery_info->remote_address);
-
-       if (discovery_info->service_uuid != NULL) {
-               for (i = 0; i < discovery_info->service_count; i++) {
-                       if (discovery_info->service_uuid[i] != NULL)
-                               free(discovery_info->service_uuid[i]);
-               }
-               free(discovery_info->service_uuid);
-       }
-       if (discovery_info->manufacturer_data != NULL)
-               free(discovery_info->manufacturer_data);
-
-       free(discovery_info);
-       discovery_info = NULL;
-}
-
-static int __bt_get_bt_adapter_le_device_scan_info_s(
-                       bt_adapter_le_device_scan_result_info_s **scan_info,
-                       bluetooth_le_device_info_t *source_info)
-{
-
-       BT_CHECK_INPUT_PARAMETER(source_info);
-
-       *scan_info = (bt_adapter_le_device_scan_result_info_s *)malloc(sizeof(bt_adapter_le_device_scan_result_info_s));
-       if (*scan_info == NULL)
-               return BT_ERROR_OUT_OF_MEMORY;
-
-       _bt_convert_address_to_string(&((*scan_info)->remote_address), &(source_info->device_address));
-
-       if (source_info->addr_type == 0x02)
-               (*scan_info)->address_type = BT_DEVICE_RANDOM_ADDRESS;
-       else
-               (*scan_info)->address_type = BT_DEVICE_PUBLIC_ADDRESS; /* LCOV_EXCL_LINE */
-       (*scan_info)->rssi = (int)source_info->rssi;
-       (*scan_info)->adv_data_len = source_info->adv_ind_data.data_len;
-       if ((*scan_info)->adv_data_len > 0) {
-               (*scan_info)->adv_data = malloc(source_info->adv_ind_data.data_len);
-               memcpy((*scan_info)->adv_data, source_info->adv_ind_data.data.data, source_info->adv_ind_data.data_len);
-       } else {
-               (*scan_info)->adv_data = NULL; /* LCOV_EXCL_LINE */
-       }
-
-       (*scan_info)->scan_data_len = source_info->scan_resp_data.data_len;
-       if ((*scan_info)->scan_data_len > 0) {
-               (*scan_info)->scan_data = malloc(source_info->scan_resp_data.data_len); /* LCOV_EXCL_LINE */
-               memcpy((*scan_info)->scan_data, source_info->scan_resp_data.data.data, source_info->scan_resp_data.data_len); /* LCOV_EXCL_LINE */
-       } else {
-               (*scan_info)->scan_data = NULL;
-       }
-
-       return BT_ERROR_NONE;
-}
-
-
-static void __bt_free_bt_adapter_le_device_scan_info_s(bt_adapter_le_device_scan_result_info_s *scan_info)
-{
-       if (scan_info == NULL)
-               return;
-
-       if (scan_info->remote_address != NULL)
-               free(scan_info->remote_address);
-
-       if (scan_info->adv_data != NULL)
-               free(scan_info->adv_data);
-       if (scan_info->scan_data != NULL)
-               free(scan_info->scan_data);
-
-       free(scan_info);
-       scan_info = NULL;
-}
-
-/* LCOV_EXCL_STOP */
-static int __bt_get_cb_index(int event)
-{
-       int i;
-
-       for (i = 0; event2index[i].event != 0; i++) {
-               if (event2index[i].event == event)
-                       return event2index[i].index;
-       }
-
-       return -1; /* LCOV_EXCL_LINE */
-}
-
-/* LCOV_EXCL_START */
-static void __bt_convert_lower_to_upper(char *origin)
-{
-       int length = strlen(origin);
-       int i = 0;
-
-       for (i = 0; i < length; i++) {
-               if (islower(origin[i]))
-                       origin[i] = toupper(origin[i]);
-       }
-}
-/* LCOV_EXCL_STOP */
 
index f9cb8d76f314f66d1897ad8cc162603e8075ecc7..96ef29043b4e65b4aa28e06c5bb315be4273be8d 100644 (file)
@@ -2575,7 +2575,7 @@ int bt_gatt_server_initialize(void)
 
        if (!is_gatt_server_initialized) {
 #ifdef TIZEN_FEATURE_GATT_RELAY
-               ret = _bt_get_error_code(bluetooth_gatt_server_init(&instance_id, _bt_gatt_server_event_proxy, NULL));
+//             ret = _bt_get_error_code(bluetooth_gatt_server_init(&instance_id, _bt_gatt_server_event_proxy, NULL));
 #else
                ret = _bt_get_error_code(bluetooth_gatt_init());
 #endif
@@ -3358,8 +3358,10 @@ int bt_gatt_client_create(const char *remote_address, bt_gatt_client_h *client)
        /* Attempt to Register GATT Client instance */
        _bt_convert_address_to_hex(&bd_addr, client_s->remote_address);
 
+#if 0
        ret = bluetooth_gatt_client_init(&client_s->client_id, &bd_addr,
                                _bt_gatt_client_event_proxy);
+#endif
 
        if (BLUETOOTH_ERROR_NONE != ret) {
                free(client_s->remote_address);