Code clean up
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / bluez_hal / src / bt-hal-bluetooth.c
index b8197e4..1cba249 100644 (file)
@@ -33,6 +33,7 @@
 #include <bt-hal-adapter-dbus-handler.h>
 #include <bt-hal-device-dbus-handler.h>
 #include <bt-hal-hidhost.h>
+#include <bt-hal-hiddevice.h>
 #include <bt-hal-socket.h>
 #include <bt-hal-av.h>
 #include <bt-hal-hf.h>
@@ -45,6 +46,7 @@
 #include <bt-hal-adapter-le.h>
 #include <bt-hal-agent.h>
 #endif
+#include <bt-hal-hf-client.h>
 
 #define enum_prop_to_hal(prop, hal_prop, type) do { \
        static type e; \
@@ -59,8 +61,8 @@ static const bt_callbacks_t *bt_hal_cbacks = NULL;
 /* Forward declarations */
 static void __bt_adapter_props_to_hal(bt_property_t *send_props, struct hal_property *prop, uint8_t num_props, uint16_t len);
 static void __bt_device_props_to_hal(bt_property_t *send_props,
-                struct hal_property *prop, uint8_t num_props,
-                uint16_t len);
+               struct hal_property *prop, uint8_t num_props,
+               uint16_t len);
 static void __bt_hal_handle_adapter_state_changed(void *buf, uint16_t len);
 static void __bt_hal_handle_adapter_property_changed(void *buf, uint16_t len);
 static void __bt_hal_handle_stack_messages(int message, void *buf, uint16_t len);
@@ -113,6 +115,14 @@ static int disable(void)
 }
 
 #ifdef  TIZEN_BT_HAL
+/* Tizen Specific Recover Adapter */
+static int recover(void)
+{
+       return _bt_hal_dbus_recover_adapter();
+}
+#endif
+
+#ifdef  TIZEN_BT_HAL
 /* Tizen Specific Reset Adapter */
 static int reset(void)
 {
@@ -213,7 +223,6 @@ static int cancel_discovery(void)
 
 static int create_bond(const bt_bdaddr_t *bd_addr, int transport)
 {
-       DBG("+");
        return _bt_hal_device_create_bond(bd_addr, transport);
 }
 
@@ -224,7 +233,6 @@ static int cancel_bond(const bt_bdaddr_t *bd_addr)
 
 static int remove_bond(const bt_bdaddr_t *bd_addr)
 {
-       DBG("+");
        return _bt_hal_device_remove_bond(bd_addr);
 }
 
@@ -251,6 +259,9 @@ static const void *get_profile_interface(const char *profile_id)
        if (!strncmp(profile_id, BT_PROFILE_HIDHOST_ID, strlen(profile_id)))
                return bt_get_hidhost_interface();
 
+       if (!strcmp(profile_id, BT_PROFILE_HIDDEVICE_ID))
+               return bt_get_hiddevice_interface();
+
        if (!strcmp(profile_id, BT_PROFILE_SOCKETS_ID))
                return bt_get_socket_interface();
 
@@ -266,6 +277,9 @@ static const void *get_profile_interface(const char *profile_id)
        if (!strcmp(profile_id, BT_PROFILE_HANDSFREE_ID))
                return bt_get_hf_interface();
 
+       if (!strcmp(profile_id, BT_PROFILE_HANDSFREE_CLIENT_ID))
+               return bt_get_hf_client_interface();
+
        if (!strcmp(profile_id, BT_PROFILE_GATT_ID))
                return bt_get_gatt_interface();
 
@@ -328,15 +342,13 @@ static int read_energy_info(void)
 }
 
 static int authorize_response(const bt_bdaddr_t *bd_addr, bt_service_id_t service_id,
-                                    uint8_t authorize, uint8_t save_settings)
+               uint8_t authorize, uint8_t save_settings)
 {
-       DBG("+");
        return _bt_hal_device_authorize_response(bd_addr, service_id, authorize, save_settings);
 }
 
 int set_authorization(bt_bdaddr_t *bd_addr, uint8_t auth)
 {
-       DBG("+");
        return _bt_hal_device_set_trust(bd_addr, auth);
 }
 
@@ -347,10 +359,16 @@ static int get_service_connection_state(const bt_bdaddr_t *bd_addr, bt_service_i
        return _bt_hal_device_get_service_connection_state(bd_addr, rem_svc_id);
 }
 
-static int set_agent_osp_server(uint32_t type, uint8_t enable)
+static int register_agent_osp_server(uint32_t type, char *uuid, char *path, int fd)
+{
+       DBG("");
+       return _bt_hal_device_register_osp_server(type, uuid, path, fd);
+}
+
+static int unregister_agent_osp_server(uint32_t type, char *uuid)
 {
        DBG("");
-       return _bt_hal_device_set_osp_server(type, enable);
+       return _bt_hal_device_unregister_osp_server(type, uuid);
 }
 
 static int set_trusted_profile(bt_bdaddr_t *bd_addr, bt_trusted_profile_t profile, uint8_t trust)
@@ -372,7 +390,7 @@ static int get_connected_link_rssi_strength(bt_bdaddr_t *bd_addr, uint32_t conn_
 }
 
 static int enable_rssi_monitoring(bt_bdaddr_t *bd_addr, uint32_t conn_link_type,
-                   int low_threshold, int in_range_threshold, int high_threshold)
+               int low_threshold, int in_range_threshold, int high_threshold)
 {
        DBG("");
        return _bt_hal_device_enable_rssi_monitoring(bd_addr, conn_link_type,
@@ -385,6 +403,25 @@ static int enable_gap_auth_notifications(uint32_t type, uint8_t enable)
        _bt_hal_enable_gap_auth_notifications(type, ((enable == 0) ? FALSE : TRUE));
        return BT_STATUS_SUCCESS;
 }
+
+static int set_hal_adapter_request_state(int enable)
+{
+       DBG("");
+       _bt_hal_set_adapter_request_state(enable);
+       return BT_STATUS_SUCCESS;
+}
+
+static int set_hal_le_request_state(int enable)
+{
+       DBG("");
+       _bt_hal_set_le_request_state(enable);
+       return BT_STATUS_SUCCESS;
+}
+
+static int dev_disconnect(const bt_bdaddr_t *bd_addr)
+{
+       return _bt_hal_device_disconnect(bd_addr);
+}
 #endif
 
 static const bt_interface_t bluetooth_if = {
@@ -392,7 +429,9 @@ static const bt_interface_t bluetooth_if = {
        .init = init,
        .enable = enable,
        .disable = disable,
+
 #ifdef TIZEN_BT_HAL
+       .recover = recover,
        .reset = reset,
 #endif
 
@@ -401,6 +440,7 @@ static const bt_interface_t bluetooth_if = {
        .le_disable = _bt_hal_le_disable,
        .le_init = _bt_hal_le_init,
        .le_deinit = _bt_hal_le_deinit,
+       .is_advertising = _bt_hal_is_advertising,
 #endif
        .cleanup = cleanup,
 #ifdef TIZEN_BT_HAL
@@ -437,12 +477,20 @@ static const bt_interface_t bluetooth_if = {
        .set_authorization = set_authorization,
 #ifdef TIZEN_BT_HAL
        .get_service_connection_state = get_service_connection_state,
-       .set_agent_osp_server = set_agent_osp_server,
+       .register_agent_osp_server = register_agent_osp_server,
+       .unregister_agent_osp_server = unregister_agent_osp_server,
        .set_trusted_profile = set_trusted_profile,
        .get_trusted_profile = get_trusted_profile,
        .enable_rssi_monitoring = enable_rssi_monitoring,
        .get_connected_link_rssi_strength = get_connected_link_rssi_strength,
        .enable_gap_auth_notifications = enable_gap_auth_notifications,
+       .set_le_static_random_address = _bt_hal_set_le_static_random_address,
+       .set_hal_adapter_request_state = set_hal_adapter_request_state,
+       .set_hal_le_request_state = set_hal_le_request_state,
+       .adapter_le_set_manufacturer_data = _bt_hal_adapter_le_set_manufacturer_data,
+       .adapter_le_set_white_list = _bt_hal_adapter_le_set_white_list,
+       .adapter_le_set_privacy = _bt_hal_adapter_le_set_privacy,
+       .device_disconnect = dev_disconnect,
 #endif
 };
 
@@ -463,7 +511,7 @@ static int close_bluetooth(struct hw_device_t *device)
 static int open_bluetooth(const struct hw_module_t *module, char const *name,
                struct hw_device_t **device)
 {
-       bluetooth_device_t *dev = malloc(sizeof(bluetooth_device_t));
+       bluetooth_device_t *dev = g_malloc0(sizeof(bluetooth_device_t));
 
        DBG("");
 
@@ -488,7 +536,7 @@ struct hw_module_t HAL_MODULE_INFO_SYM = {
        .version_major = 1,
        .version_minor = 0,
        .id = BT_HARDWARE_MODULE_ID,
-       .name = "Bluetooth stack",
+       .name = "bluez",
        .author = "Intel Corporation",
        .methods = &bluetooth_module_methods
 };
@@ -532,10 +580,10 @@ static void __bt_adapter_props_to_hal(bt_property_t *send_props, struct hal_prop
 
                switch (prop->type) {
                        /* TODO: Add Adapter Properties */
-                       default:
-                               send_props[i].len = prop->len;
-                               send_props[i].val = prop->val;
-                               break;
+               default:
+                       send_props[i].len = prop->len;
+                       send_props[i].val = prop->val;
+                       break;
                }
 
                DBG("prop[%d]: %s", i, btproperty2str(&send_props[i]));
@@ -550,16 +598,13 @@ static void __bt_adapter_props_to_hal(bt_property_t *send_props, struct hal_prop
 }
 
 static void __bt_device_props_to_hal(bt_property_t *send_props,
-                struct hal_property *prop, uint8_t num_props,
-                uint16_t len)
+               struct hal_property *prop, uint8_t num_props,
+               uint16_t len)
 {
        void *buf = prop;
        uint8_t i;
 
-       DBG("+");
-
        for (i = 0; i < num_props; i++) {
-
                if (sizeof(*prop) + prop->len > len) {
                        ERR("invalid device properties (%zu > %u), cant process further properties!!!",
                                        sizeof(*prop) + prop->len, len);
@@ -568,8 +613,6 @@ static void __bt_device_props_to_hal(bt_property_t *send_props,
 
                send_props[i].type = prop->type;
 
-               DBG("HAL prop Type [%d]", prop->type);
-
                switch (prop->type) {
                case HAL_PROP_DEVICE_TYPE:
                {
@@ -619,7 +662,6 @@ static void __bt_device_props_to_hal(bt_property_t *send_props,
        }
 
        if (!len) {
-               DBG("-");
                return;
        }
 
@@ -630,7 +672,6 @@ static void __bt_hal_handle_adapter_property_changed(void *buf, uint16_t len)
 {
        struct hal_ev_adapter_props_changed *ev = (struct hal_ev_adapter_props_changed *)buf;
        bt_property_t props[ev->num_props];
-       DBG("+");
 
        if (!bt_hal_cbacks->adapter_properties_cb)
                return;
@@ -646,8 +687,6 @@ static void __bt_hal_handle_adapter_discovery_state_changed(void *buf, uint16_t
 {
        struct hal_ev_discovery_state_changed *ev = (struct hal_ev_discovery_state_changed *)buf;
 
-       DBG("+");
-
        if (bt_hal_cbacks->discovery_state_changed_cb)
                bt_hal_cbacks->discovery_state_changed_cb(ev->state);
 }
@@ -656,7 +695,6 @@ static void __bt_hal_handle_device_found_event(void *buf, uint16_t len)
 {
        struct hal_ev_device_found *ev =  (struct hal_ev_device_found *) buf;
        bt_property_t props[ev->num_props];
-       DBG("+");
 
        if (!bt_hal_cbacks->device_found_cb)
                return;
@@ -673,8 +711,6 @@ static void __bt_hal_handle_remote_device_properties_event(void *buf, uint16_t l
        bt_bdaddr_t bd_addr;
        bt_property_t props[ev->num_props];
 
-       DBG("+");
-
        if (!bt_hal_cbacks->remote_device_properties_cb)
                return;
 
@@ -683,7 +719,6 @@ static void __bt_hal_handle_remote_device_properties_event(void *buf, uint16_t l
        memcpy(bd_addr.address, ev->bdaddr, 6);
        bt_hal_cbacks->remote_device_properties_cb(
                        ev->status, &bd_addr, ev->num_props, props);
-       DBG("-");
 }
 
 static void __bt_hal_handle_bond_state_changed_event(void *buf, uint16_t len)
@@ -691,16 +726,8 @@ static void __bt_hal_handle_bond_state_changed_event(void *buf, uint16_t len)
 
        struct hal_ev_bond_state_changed *ev = (struct hal_ev_bond_state_changed *)buf;
        bt_bdaddr_t bd_addr;
-       DBG("+");
 
        memcpy(bd_addr.address, ev->bdaddr, 6);
-       /* BD address*/
-       DBG("[0x%x]", bd_addr.address[0]);
-       DBG("[0x%x]", bd_addr.address[1]);
-       DBG("[0x%x]", bd_addr.address[2]);
-       DBG("[0x%x]", bd_addr.address[3]);
-       DBG("[0x%x]", bd_addr.address[4]);
-       DBG("[0x%x]", bd_addr.address[5]);
 
        DBG("Bonding  State changed Status [0x%x]", ev->status);
        DBG("Bonding  State [0x%x]", ev->state);
@@ -711,59 +738,45 @@ static void __bt_hal_handle_bond_state_changed_event(void *buf, uint16_t len)
        }
 
        bt_hal_cbacks->bond_state_changed_cb(ev->status, &bd_addr, ev->state);
-       DBG("-");
 }
 
 static void __bt_hal_handle_device_acl_state_changed_event(void *buf, uint16_t len)
 {
-        struct hal_ev_acl_state_changed *ev = (struct hal_ev_acl_state_changed*)buf;
-        bt_bdaddr_t bd_addr;
-        DBG("+");
-
-        memcpy(bd_addr.address, ev->bdaddr, 6);
-        /* BD address*/
-        DBG("[0x%x]", bd_addr.address[0]);
-        DBG("[0x%x]", bd_addr.address[1]);
-        DBG("[0x%x]", bd_addr.address[2]);
-        DBG("[0x%x]", bd_addr.address[3]);
-        DBG("[0x%x]", bd_addr.address[4]);
-        DBG("[0x%x]", bd_addr.address[5]);
+       struct hal_ev_acl_state_changed *ev = (struct hal_ev_acl_state_changed*)buf;
+       bt_bdaddr_t bd_addr;
 
-        DBG("ACL Status [0x%x]", ev->status);
-        DBG("ACL State  [0x%x]", ev->state);
+       memcpy(bd_addr.address, ev->bdaddr, 6);
+       INFO("ACL status[0x%x], state[0x%x]: XX:XX:XX:XX:XX:%02X", ev->status, ev->state, bd_addr.address[5]);
 
-        if (!bt_hal_cbacks->acl_state_changed_cb) {
-                ERR("HAL User acl_state_changed_cb is not set!!");
-                return;
-        }
+       if (!bt_hal_cbacks->acl_state_changed_cb) {
+               ERR("HAL User acl_state_changed_cb is not set!!");
+               return;
+       }
 
-        bt_hal_cbacks->acl_state_changed_cb(ev->status, &bd_addr, ev->state);
-        DBG("-");
+       bt_hal_cbacks->acl_state_changed_cb(ev->status, &bd_addr, ev->state);
 }
 
 static void __bt_hal_handle_device_le_conn_state_changed_event(void *buf, uint16_t len)
 {
-        struct hal_ev_acl_state_changed *ev = (struct hal_ev_acl_state_changed*)buf;
-        bt_bdaddr_t bd_addr;
-        DBG("+");
+       struct hal_ev_acl_state_changed *ev = (struct hal_ev_acl_state_changed*)buf;
+       bt_bdaddr_t bd_addr;
 
-        memcpy(bd_addr.address, ev->bdaddr, 6);
-        /* BD address */
-        DBG("Address: [%02X:%02X:%02X:%02X:%02X:%02X]", bd_addr.address[0],
+       memcpy(bd_addr.address, ev->bdaddr, 6);
+       /* BD address */
+       DBG("Address: [%02X:%02X:%02X:%02X:%02X:%02X]", bd_addr.address[0],
                        bd_addr.address[1], bd_addr.address[2], bd_addr.address[3],
                        bd_addr.address[4], bd_addr.address[5]);
-        DBG("LE conn Status [0x%x]", ev->status);
-        DBG("LE conn State  [0x%x]", ev->state);
+       DBG("LE conn Status [0x%x]", ev->status);
+       DBG("LE conn State  [0x%x]", ev->state);
 
 #ifdef TIZEN_BT_HAL
-        if (!bt_hal_cbacks->le_conn_state_changed_cb) {
-                ERR("HAL User le_conn_state_changed_cb is not set!!");
-                return;
-        }
+       if (!bt_hal_cbacks->le_conn_state_changed_cb) {
+               ERR("HAL User le_conn_state_changed_cb is not set!!");
+               return;
+       }
 
-        bt_hal_cbacks->le_conn_state_changed_cb(ev->status, &bd_addr, ev->state);
+       bt_hal_cbacks->le_conn_state_changed_cb(ev->status, &bd_addr, ev->state);
 #endif
-        DBG("-");
 }
 
 static void __bt_hal_handle_authorize_request_event(void *buf, uint16_t len)
@@ -771,8 +784,6 @@ static void __bt_hal_handle_authorize_request_event(void *buf, uint16_t len)
        struct hal_ev_authorize_request *ev = (struct hal_ev_authorize_request *)buf;
        bt_bdaddr_t bd_addr;
 
-       DBG("+");
-
        memcpy(bd_addr.address, ev->bdaddr, 6);
 
        /* BD address*/
@@ -791,7 +802,6 @@ static void __bt_hal_handle_authorize_request_event(void *buf, uint16_t len)
        }
 
        bt_hal_cbacks->authorize_request_cb(&bd_addr, ev->service_id);
-       DBG("-");
 }
 
 #ifdef TIZEN_BT_HAL
@@ -800,19 +810,22 @@ static void __bt_hal_handle_socket_authorize_request_event(void *buf, uint16_t l
        struct hal_ev_sock_conn_auth *ev = buf;
        bt_bdaddr_t bd_addr;
        bt_uuid_t uuid;
-
-       DBG("+");
+       uint8_t name[249] = {0, };
+       uint8_t path[249] = {0, };
+       uint32_t fd;
 
        memcpy(bd_addr.address, ev->bdaddr, 6);
        memcpy(uuid.uu, ev->uuid, 16);
+       memcpy(name, ev->name, sizeof(name) - 1);
+       memcpy(path, ev->path, sizeof(name) - 1);
+       fd = ev->fd;
 
        if (!bt_hal_cbacks->socket_authorize_request_cb) {
                ERR("HAL User socket_authorize_request_cb is not set!!");
                return;
        }
 
-       bt_hal_cbacks->socket_authorize_request_cb(&bd_addr, &uuid);
-       DBG("-");
+       bt_hal_cbacks->socket_authorize_request_cb(&bd_addr, &uuid, name, path, fd);
 }
 #endif
 
@@ -821,7 +834,6 @@ static void __bt_hal_handle_ssp_request_event(void *buf, uint16_t len)
        struct hal_ev_ssp_request *ev = (struct hal_ev_ssp_request *)buf;
        bt_bdaddr_t bd_addr;
        bt_bdname_t bd_name;
-       DBG("+");
 
        memcpy(bd_addr.address, ev->bdaddr, 6);
        memcpy(bd_name.name, ev->name, 248);
@@ -846,7 +858,6 @@ static void __bt_hal_handle_ssp_request_event(void *buf, uint16_t len)
        bt_hal_cbacks->ssp_request_cb(&bd_addr, &bd_name,
                        ev->class_of_dev,
                        ev->pairing_variant, ev->passkey);
-       DBG("-");
 }
 
 static void __bt_hal_handle_pin_request_event(void *buf, uint16_t len)
@@ -854,7 +865,6 @@ static void __bt_hal_handle_pin_request_event(void *buf, uint16_t len)
        struct hal_ev_pin_request *ev = (struct hal_ev_pin_request *)buf;
        bt_bdaddr_t bd_addr;
        bt_bdname_t bd_name;
-       DBG("+");
 
        memcpy(bd_addr.address, ev->bdaddr, 6);
        memcpy(bd_name.name, ev->name, 248);
@@ -876,33 +886,30 @@ static void __bt_hal_handle_pin_request_event(void *buf, uint16_t len)
 
        bt_hal_cbacks->pin_request_cb(&bd_addr, &bd_name,
                        ev->class_of_dev);
-       DBG("-");
 }
 
 static void __bt_hal_handle_device_trust_state_changed_event(void *buf, uint16_t len)
 {
-        struct hal_ev_device_trust_state_changed *ev = (struct hal_ev_device_trust_state_changed*)buf;
-        bt_bdaddr_t bd_addr;
-        DBG("+");
+       struct hal_ev_device_trust_state_changed *ev = (struct hal_ev_device_trust_state_changed*)buf;
+       bt_bdaddr_t bd_addr;
 
-        memcpy(bd_addr.address, ev->bdaddr, 6);
-        /* BD address*/
-        DBG("[0x%x]", bd_addr.address[0]);
-        DBG("[0x%x]", bd_addr.address[1]);
-        DBG("[0x%x]", bd_addr.address[2]);
-        DBG("[0x%x]", bd_addr.address[3]);
-        DBG("[0x%x]", bd_addr.address[4]);
-        DBG("[0x%x]", bd_addr.address[5]);
+       memcpy(bd_addr.address, ev->bdaddr, 6);
+       /* BD address*/
+       DBG("[0x%x]", bd_addr.address[0]);
+       DBG("[0x%x]", bd_addr.address[1]);
+       DBG("[0x%x]", bd_addr.address[2]);
+       DBG("[0x%x]", bd_addr.address[3]);
+       DBG("[0x%x]", bd_addr.address[4]);
+       DBG("[0x%x]", bd_addr.address[5]);
 
-        DBG("Device Trusted?  [0x%x]", ev->trust);
+       DBG("Device Trusted?  [0x%x]", ev->trust);
 
-        if (!bt_hal_cbacks->device_trust_state_changed_cb) {
-                ERR("HAL User device_trust_state_changed_cb is not set!!");
-                return;
-        }
+       if (!bt_hal_cbacks->device_trust_state_changed_cb) {
+               ERR("HAL User device_trust_state_changed_cb is not set!!");
+               return;
+       }
 
-        bt_hal_cbacks->device_trust_state_changed_cb(&bd_addr, ev->trust);
-        DBG("-");
+       bt_hal_cbacks->device_trust_state_changed_cb(&bd_addr, ev->trust);
 }
 
 static void __bt_hal_handle_device_trusted_profiles_changed_event(void *buf, uint16_t len)
@@ -910,7 +917,6 @@ static void __bt_hal_handle_device_trusted_profiles_changed_event(void *buf, uin
        struct hal_ev_device_trusted_profiles_changed *ev = buf;
        bt_bdaddr_t bd_addr;
 
-       DBG("+");
 #ifdef TIZEN_BT_HAL
        memcpy(bd_addr.address, ev->bdaddr, 6);
        DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
@@ -925,7 +931,6 @@ static void __bt_hal_handle_device_trusted_profiles_changed_event(void *buf, uin
 
        bt_hal_cbacks->device_trusted_profiles_changed_cb(&bd_addr, ev->trust_val);
 #endif
-       DBG("-");
 }
 
 static void __bt_handle_rssi_monitor_state_changed(void *buf, uint16_t len)
@@ -933,10 +938,9 @@ static void __bt_handle_rssi_monitor_state_changed(void *buf, uint16_t len)
        struct hal_ev_rssi_monitor_state_changed *ev = buf;
        bt_bdaddr_t bd_addr;
 
-       DBG("+");
 #ifdef TIZEN_BT_HAL
-        memcpy(bd_addr.address, ev->bdaddr, 6);
-        DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
+       memcpy(bd_addr.address, ev->bdaddr, 6);
+       DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
                        bd_addr.address[0], bd_addr.address[1],
                        bd_addr.address[2], bd_addr.address[3],
                        bd_addr.address[4], bd_addr.address[5]);
@@ -945,7 +949,6 @@ static void __bt_handle_rssi_monitor_state_changed(void *buf, uint16_t len)
                bt_hal_cbacks->rssi_monitor_state_changed_cb(
                                &bd_addr, ev->link_type, ev->state);
 #endif
-       DBG("-");
 }
 
 static void __bt_handle_rssi_alert_recieved(void *buf, uint16_t len)
@@ -953,10 +956,9 @@ static void __bt_handle_rssi_alert_recieved(void *buf, uint16_t len)
        struct hal_ev_rssi_alert_recieved *ev = buf;
        bt_bdaddr_t bd_addr;
 
-       DBG("+");
 #ifdef TIZEN_BT_HAL
-        memcpy(bd_addr.address, ev->bdaddr, 6);
-        DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
+       memcpy(bd_addr.address, ev->bdaddr, 6);
+       DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
                        bd_addr.address[0], bd_addr.address[1],
                        bd_addr.address[2], bd_addr.address[3],
                        bd_addr.address[4], bd_addr.address[5]);
@@ -965,7 +967,6 @@ static void __bt_handle_rssi_alert_recieved(void *buf, uint16_t len)
                bt_hal_cbacks->rssi_alert_cb(
                                &bd_addr, ev->link_type, ev->alert_type, ev->rssi);
 #endif
-       DBG("-");
 }
 
 static void __bt_handle_raw_rssi_recieved(void *buf, uint16_t len)
@@ -973,10 +974,9 @@ static void __bt_handle_raw_rssi_recieved(void *buf, uint16_t len)
        struct hal_ev_raw_rssi_recieved *ev = buf;
        bt_bdaddr_t bd_addr;
 
-       DBG("+");
 #ifdef TIZEN_BT_HAL
-        memcpy(bd_addr.address, ev->bdaddr, 6);
-        DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
+       memcpy(bd_addr.address, ev->bdaddr, 6);
+       DBG("[0x%02X:%02X:%02X:%02X:%02X:%02X]",
                        bd_addr.address[0], bd_addr.address[1],
                        bd_addr.address[2], bd_addr.address[3],
                        bd_addr.address[4], bd_addr.address[5]);
@@ -985,90 +985,102 @@ static void __bt_handle_raw_rssi_recieved(void *buf, uint16_t len)
                bt_hal_cbacks->raw_rssi_received_cb(
                                &bd_addr, ev->link_type, ev->rssi);
 #endif
-       DBG("-");
+}
+
+static void __bt_handle_dbfw_plus_info_recieved(void *buf, uint16_t len)
+{
+       struct hal_ev_dbfw_plus_info_recieved *info = buf;
+
+#ifdef TIZEN_BT_HAL
+       if (bt_hal_cbacks->dbfw_plus_info_received_cb)
+               bt_hal_cbacks->dbfw_plus_info_received_cb(
+                               info->data, info->data_len, info->event_code);
+#endif
 }
 
 static void __bt_hal_handle_stack_messages(int message, void *buf, uint16_t len)
 {
-       DBG("+");
-       switch(message) {
-               case HAL_EV_ADAPTER_STATE_CHANGED:
-                       DBG("Event: HAL_EV_ADAPTER_STATE_CHANGED");
-                       __bt_hal_handle_adapter_state_changed(buf, len);
-                       break;
-               case HAL_EV_ADAPTER_PROPS_CHANGED:
-                       DBG("Event: HAL_EV_ADAPTER_PROPS_CHANGED");
-                       __bt_hal_handle_adapter_property_changed(buf, len);
-                       break;
-               case HAL_EV_DISCOVERY_STATE_CHANGED:
-                       DBG("Event: HAL_EV_DISCOVERY_STATE_CHANGED");
-                       __bt_hal_handle_adapter_discovery_state_changed(buf, len);
-                       break;
-               case HAL_EV_DEVICE_FOUND:
-                       DBG("Event: HAL_EV_DEVICE_FOUND");
-                       __bt_hal_handle_device_found_event(buf, len);
-                       break;
-               case HAL_EV_REMOTE_DEVICE_PROPS:
-                       DBG("Event: HAL_EV_REMOTE_DEVICE_PROPS");
-                       __bt_hal_handle_remote_device_properties_event(buf, len);
-                       break;
-               case HAL_EV_BOND_STATE_CHANGED:
-                       DBG("Event: HAL_EV_BOND_STATE_CHANGED:");
-                       __bt_hal_handle_bond_state_changed_event(buf, len);
-                       break;
-               case HAL_EV_ACL_STATE_CHANGED:
-                       DBG("Event: HAL_ACL_STATE_CONNECTED or Disconnected");
-                       __bt_hal_handle_device_acl_state_changed_event(buf, len);
-                       break;
-               case HAL_EV_LE_CONN_STATE_CHANGED:
-                       DBG("Event: HAL_LE_CONN_STATE_CONNECTED or Disconnected");
-                       __bt_hal_handle_device_le_conn_state_changed_event(buf, len);
-                       break;
-               case HAL_EV_SSP_REQUEST:
-                       DBG("Event: HAL_EV_SSP_REQUEST");
-                       __bt_hal_handle_ssp_request_event(buf, len);
-                       break;
-               case HAL_EV_PIN_REQUEST:
-                       DBG("Event: HAL_EV_PIN_REQUEST");
-                       __bt_hal_handle_pin_request_event(buf, len);
-                       break;
-               case HAL_EV_AUTHORIZE_REQUEST:
-                       DBG("Event: HAL_EV_AUTHORIZE_REQUEST");
-                       __bt_hal_handle_authorize_request_event(buf, len);
-                       break;
-               case HAL_EV_DEVICE_TRUST_CHANGED:
-                       DBG("Event: HAL_EV_DEVICE_TRUST_CHANGED");
-                       __bt_hal_handle_device_trust_state_changed_event(buf, len);
-                       break;
+       switch (message) {
+       case HAL_EV_ADAPTER_STATE_CHANGED:
+               DBG("Event: HAL_EV_ADAPTER_STATE_CHANGED");
+               __bt_hal_handle_adapter_state_changed(buf, len);
+               break;
+       case HAL_EV_ADAPTER_PROPS_CHANGED:
+               DBG("Event: HAL_EV_ADAPTER_PROPS_CHANGED");
+               __bt_hal_handle_adapter_property_changed(buf, len);
+               break;
+       case HAL_EV_DISCOVERY_STATE_CHANGED:
+               DBG("Event: HAL_EV_DISCOVERY_STATE_CHANGED");
+               __bt_hal_handle_adapter_discovery_state_changed(buf, len);
+               break;
+       case HAL_EV_DEVICE_FOUND:
+               DBG("Event: HAL_EV_DEVICE_FOUND");
+               __bt_hal_handle_device_found_event(buf, len);
+               break;
+       case HAL_EV_REMOTE_DEVICE_PROPS:
+               DBG("Event: HAL_EV_REMOTE_DEVICE_PROPS");
+               __bt_hal_handle_remote_device_properties_event(buf, len);
+               break;
+       case HAL_EV_BOND_STATE_CHANGED:
+               DBG("Event: HAL_EV_BOND_STATE_CHANGED:");
+               __bt_hal_handle_bond_state_changed_event(buf, len);
+               break;
+       case HAL_EV_ACL_STATE_CHANGED:
+               DBG("Event: HAL_ACL_STATE_CONNECTED or Disconnected");
+               __bt_hal_handle_device_acl_state_changed_event(buf, len);
+               break;
+       case HAL_EV_LE_CONN_STATE_CHANGED:
+               DBG("Event: HAL_LE_CONN_STATE_CONNECTED or Disconnected");
+               __bt_hal_handle_device_le_conn_state_changed_event(buf, len);
+               break;
+       case HAL_EV_SSP_REQUEST:
+               DBG("Event: HAL_EV_SSP_REQUEST");
+               __bt_hal_handle_ssp_request_event(buf, len);
+               break;
+       case HAL_EV_PIN_REQUEST:
+               DBG("Event: HAL_EV_PIN_REQUEST");
+               __bt_hal_handle_pin_request_event(buf, len);
+               break;
+       case HAL_EV_AUTHORIZE_REQUEST:
+               DBG("Event: HAL_EV_AUTHORIZE_REQUEST");
+               __bt_hal_handle_authorize_request_event(buf, len);
+               break;
+       case HAL_EV_DEVICE_TRUST_CHANGED:
+               DBG("Event: HAL_EV_DEVICE_TRUST_CHANGED");
+               __bt_hal_handle_device_trust_state_changed_event(buf, len);
+               break;
 #ifdef TIZEN_BT_HAL
-               case HAL_EV_SOCK_AUTHORIZE_REQUEST:
-                       DBG("Event: HAL_EV_AUTHORIZE_REQUEST");
-                       __bt_hal_handle_socket_authorize_request_event(buf, len);
-                       break;
-               case HAL_EV_LE_STATE_CHANGED:
-                       DBG("Event: HAL_EV_LE_STATE_CHANGED");
-                       __bt_hal_handle_le_state_changed(buf, len);
-                       break;
+       case HAL_EV_SOCK_AUTHORIZE_REQUEST:
+               DBG("Event: HAL_EV_AUTHORIZE_REQUEST");
+               __bt_hal_handle_socket_authorize_request_event(buf, len);
+               break;
+       case HAL_EV_LE_STATE_CHANGED:
+               DBG("Event: HAL_EV_LE_STATE_CHANGED");
+               __bt_hal_handle_le_state_changed(buf, len);
+               break;
 #endif
-               case HAL_EV_DEVICE_TRUSTED_PROFILES_CHANGED:
-                       DBG("Event: HAL_EV_DEVICE_TRUST_CHANGED");
-                       __bt_hal_handle_device_trusted_profiles_changed_event(buf, len);
-                       break;
-               case HAL_EV_RSSI_MONITOR_STATE_CHANGED:
-                       DBG("Event: HAL_EV_RSSI_MONITOR_STATE_CHANGED");
-                       __bt_handle_rssi_monitor_state_changed(buf, len);
-                       break;
-               case HAL_EV_RSSI_ALERT_RECIEVED:
-                       DBG("Event: HAL_EV_RSSI_ALERT_RECIEVED");
-                       __bt_handle_rssi_alert_recieved(buf, len);
-                       break;
-               case HAL_EV_RAW_RSSI_RECIEVED:
-                       DBG("Event: HAL_EV_RAW_RSSI_RECIEVED");
-                       __bt_handle_raw_rssi_recieved(buf, len);
-                       break;
-               default:
-                       DBG("Event Currently not handled!!");
-                       break;
+       case HAL_EV_DEVICE_TRUSTED_PROFILES_CHANGED:
+               DBG("Event: HAL_EV_DEVICE_TRUST_CHANGED");
+               __bt_hal_handle_device_trusted_profiles_changed_event(buf, len);
+               break;
+       case HAL_EV_RSSI_MONITOR_STATE_CHANGED:
+               DBG("Event: HAL_EV_RSSI_MONITOR_STATE_CHANGED");
+               __bt_handle_rssi_monitor_state_changed(buf, len);
+               break;
+       case HAL_EV_RSSI_ALERT_RECIEVED:
+               DBG("Event: HAL_EV_RSSI_ALERT_RECIEVED");
+               __bt_handle_rssi_alert_recieved(buf, len);
+               break;
+       case HAL_EV_RAW_RSSI_RECIEVED:
+               DBG("Event: HAL_EV_RAW_RSSI_RECIEVED");
+               __bt_handle_raw_rssi_recieved(buf, len);
+               break;
+       case HAL_EV_DBFW_PLUS_INFO_RECIEVED:
+               DBG("Event: HAL_EV_DBFW_PLUS_INFO_RECIEVED");
+               __bt_handle_dbfw_plus_info_recieved(buf, len);
+               break;
+       default:
+               DBG("Event Currently not handled!!");
+               break;
        }
-       DBG("-");
 }