Debug message cleanup
[platform/core/connectivity/bluetooth-frwk.git] / bt-service / bt-service-event-receiver.c
index 153c6ad..a90803b 100644 (file)
@@ -409,36 +409,6 @@ void __bt_update_remote_cache_devinfo(const char *address, gboolean paired_statu
        BT_DBG("-");
 }
 
-static void __bt_device_remote_connected_properties(
-                               bt_remote_dev_info_t *remote_dev_info,
-                               char *address, gboolean connected)
-{
-       int result = BLUETOOTH_ERROR_NONE;
-       int i;
-       GVariant *param = NULL;
-       BT_DBG("+");
-
-       if (remote_dev_info->uuid_count > 0) {
-               for (i = 0; i < remote_dev_info->uuid_count; i++) {
-                       char *uuid = remote_dev_info->uuids[i];
-                       if (strcasecmp(uuid, HID_UUID) == 0) {
-                               int event = BLUETOOTH_EVENT_NONE;
-
-                               event = (connected == TRUE) ?
-                                       BLUETOOTH_HID_CONNECTED :
-                                       BLUETOOTH_HID_DISCONNECTED;
-                               param = g_variant_new("(is)", result,
-                                                       address);
-                               _bt_send_event(BT_HID_EVENT, event,
-                                       param);
-                               break;
-                       }
-               }
-       }
-
-       BT_DBG("-");
-}
-
 gboolean __bt_handle_is_flight_mode_enabled(void)
 {
        int is_flight_mode = 0;
@@ -638,6 +608,9 @@ static void __bt_adapter_property_changed_event(GVariant *msg, const char *path)
                        g_variant_get(val, "b", &discovering);
                        /* Send event to application */
                        BT_DBG("Discovering %d", discovering);
+                       if (_bt_adapter_get_status() != BT_ACTIVATED)
+                               return;
+
                        if (discovering == TRUE) {
                                _bt_set_discovery_status(TRUE);
                                param = g_variant_new("(i)", result);
@@ -670,6 +643,11 @@ static void __bt_adapter_property_changed_event(GVariant *msg, const char *path)
                        gboolean le_discovering = FALSE;
 
                        g_variant_get(val, "b", &le_discovering);
+                       BT_DBG("LEDiscovering %d", le_discovering);
+                       if (_bt_adapter_get_status() != BT_ACTIVATED ||
+                               _bt_adapter_get_le_status() != BT_LE_ACTIVATED)
+                               return;
+
                        /* Send event to application */
                        if (le_discovering == TRUE) {
                                _bt_set_le_scan_status(TRUE);
@@ -922,7 +900,6 @@ static void __bt_device_property_changed_event(GVariant *msg, const char *path)
        char *property = NULL;
        char *address;
        GVariant *param = NULL;
-       bt_remote_dev_info_t *remote_dev_info;
        g_variant_iter_init(&value_iter, msg);
 #ifdef TIZEN_FEATURE_BT_DPM
        int desktop_state = DPM_BT_ERROR;
@@ -945,15 +922,6 @@ static void __bt_device_property_changed_event(GVariant *msg, const char *path)
                        BT_DBG("connected: %d", connected);
                        BT_DBG("address: %s", address);
 
-                       remote_dev_info = _bt_get_remote_device_info_by_object_path(path);
-
-                       if (remote_dev_info != NULL) {
-                               __bt_device_remote_connected_properties(
-                                               remote_dev_info, address,
-                                               connected != BLUETOOTH_CONNECTED_LINK_NONE ?
-                                               TRUE : FALSE);
-                               _bt_free_device_info(remote_dev_info);
-                       }
                        param = g_variant_new("(is)", result, address);
                        /* Send event to application */
                        _bt_send_event(BT_DEVICE_EVENT,
@@ -1274,7 +1242,6 @@ static void __bt_media_control_changed_event(GVariant *msg, const char *path)
        char *address;
        GVariant *val = NULL;
        GVariant *child = NULL;
-       bt_remote_dev_info_t *remote_dev_info;
        GVariant *param = NULL;
        g_variant_iter_init(&value_iter, msg);
        while ((child = g_variant_iter_next_value(&value_iter))) {
@@ -1295,13 +1262,6 @@ static void __bt_media_control_changed_event(GVariant *msg, const char *path)
                        BT_DBG("connected: %d", connected);
                        BT_DBG("address: %s", address);
 
-                       remote_dev_info = _bt_get_remote_device_info(address);
-
-                       if (remote_dev_info != NULL) {
-                               __bt_device_remote_connected_properties(
-                               remote_dev_info, address, connected);
-                               _bt_free_device_info(remote_dev_info);
-                       }
                        param = g_variant_new("(is)", result, address);
                        /* Send event to application */
                        _bt_send_event(BT_AVRCP_EVENT,
@@ -1689,17 +1649,14 @@ void __bt_gatt_char_property_changed_event(GVariant *msg,
        GVariant *val = NULL;
        g_variant_iter_init(&value_iter, msg);
        while ((g_variant_iter_loop(&value_iter, "{sv}", &property, &val))) {
-               BT_INFO("Property %s", property);
+               BT_DBG("Property %s", property);
 
                ret_if(property == NULL);
 
                if (strcasecmp(property, "Notifying") == 0) {
                        gboolean property_flag = FALSE;
                        g_variant_get(val, "b", &property_flag);
-                       if (property_flag == TRUE)
-                               BT_DBG("notifying is enabled");
-                       else
-                               BT_DBG("notifying is disabled");
+                       BT_INFO("Notifying is %s", property_flag ? "enabled" : "disabled");
                }
        }
 }
@@ -1880,6 +1837,9 @@ void _bt_handle_device_event(GVariant *msg, const char *member, const char *path
                                !addr_type ? dev_name : secure_address);
                g_free(dev_name);
 
+               if (addr_type)
+                       _bt_add_le_connected_dev_info(address);
+
                _bt_logging_connection(TRUE, addr_type);
                param = g_variant_new("(isy)", result, address, addr_type);
                /*Send event to application*/
@@ -1906,15 +1866,17 @@ void _bt_handle_device_event(GVariant *msg, const char *member, const char *path
                      0x02 BDADDR_LE_RANDOM */
                _bt_convert_addr_string_to_secure_string(secure_address, address);
                BT_INFO("Address : %s Type : %d", secure_address, addr_type);
-               BT_ERR_C("### Disconnected [%s] [%d : %s] [%s]", !addr_type ? "BREDR" : "LE",
-                               disc_reason, _bt_convert_disc_reason_to_string(disc_reason),
-                               !addr_type ? dev_name : secure_address);
+               BT_ERR_C("### Disconnected [%s] [%s] [%d : %s]", !addr_type ? "BREDR" : "LE",
+                               !addr_type ? dev_name : secure_address,
+                               disc_reason, _bt_convert_disc_reason_to_string(disc_reason));
                g_free(dev_name);
 
                _bt_headset_set_local_connection(FALSE);
                _bt_logging_connection(FALSE, addr_type);
 
-               if (!addr_type) {
+               if (addr_type)
+                       _bt_remove_le_connected_dev_info(address);
+               else {
 #ifdef TIZEN_BT_A2DP_SINK_AUTO_CONNECT
                        {
                                int bt_device_state = VCONFKEY_BT_DEVICE_NONE;
@@ -2284,8 +2246,8 @@ void _bt_handle_device_event(GVariant *msg, const char *member, const char *path
                address = g_malloc0(BT_ADDRESS_STRING_SIZE);
                _bt_convert_device_path_to_address(path, address);
 
-               BT_DBG("Ipsp BT Interface Name: %s", ifname);
-               BT_DBG("address: %s", address);
+               BT_DBG("Ipsp BT Interface Name: %s, address: %s", ifname, address);
+
                param = g_variant_new("(iss)", result, address, ifname);
                ipsp_param = g_variant_new("(ss)", ifname, address);
 
@@ -2347,6 +2309,21 @@ void _bt_handle_device_event(GVariant *msg, const char *member, const char *path
                        param);
 
                g_free(address);
+       }  else if (strcasecmp(member, "OtcDisconnected") == 0) {
+               gboolean connected = FALSE;
+               GVariant *otc_param = NULL;
+
+               address = g_malloc0(BT_ADDRESS_STRING_SIZE);
+               _bt_convert_device_path_to_address(path, address);
+
+               BT_DBG("OTC Disconnected, address: %s", address);
+               otc_param = g_variant_new("(ibsn)", result, connected, address);
+
+               /* Send event to application */
+               _bt_send_event(BT_OTP_EVENT,
+                                               BLUETOOTH_EVENT_OTC_STATE_CHANGED,
+                                               otc_param);
+               g_free(address);
        }
 }
 
@@ -2460,7 +2437,6 @@ void _bt_handle_headset_event(GVariant *msg, const char *path)
                                                        wait_list->address);
                        _bt_audio_connect(wait_list->req_id, wait_list->type,
                                        &device_address, NULL);
-                       _bt_rel_wait_data();
                } else if (event == BLUETOOTH_EVENT_AG_CONNECTED) {
                        /* Add data to the connected list */
                        _bt_add_headset_to_list(BT_AUDIO_HSP,
@@ -2928,11 +2904,13 @@ static  void __bt_manager_event_filter(GDBusConnection *connection,
                        BT_INFO_C("### Bluetoothd is terminated");
                        if (_bt_adapter_get_status() != BT_DEACTIVATING &&
                                _bt_adapter_get_status() != BT_DEACTIVATED) {
-                               BT_INFO_C("### Recover it");
-                               _bt_recover_adapter();
+                               BT_INFO_C("Turn Off Bluetooth");
+                               _bt_set_le_disabled(BLUETOOTH_ERROR_NONE);
+                               _bt_disable_cb();
                        }
                        _bt_handle_adapter_removed();
                        __bt_devices_list_free();
+                       _bt_service_adapter_le_deinit();
                }
 
                _bt_obex_server_check_allocation(&value);
@@ -2949,6 +2927,9 @@ static  void __bt_manager_event_filter(GDBusConnection *connection,
                        _bt_rfcomm_server_check_termination(name);
                }
 
+               /* Reset connection interval */
+               _bt_remove_all_le_conn_param_info(name);
+
                /* Stop advertising started by terminated process */
                _bt_stop_advertising_by_terminated_process(name);
                /* Stop LE Scan */
@@ -3166,7 +3147,7 @@ int _bt_opp_client_event_init(void)
        GError *error = NULL;
 
        if (opc_obexd_conn == NULL) {
-               opc_obexd_conn = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, &error);
+               opc_obexd_conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
 
                if (!opc_obexd_conn) {
                        if (error) {
@@ -3228,7 +3209,7 @@ int _bt_map_client_event_init(void)
        GError *error = NULL;
 
        if (map_obexd_conn == NULL) {
-               map_obexd_conn = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, &error);
+               map_obexd_conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
 
                if (!map_obexd_conn) {
                        if (error) {
@@ -3265,50 +3246,50 @@ int _bt_register_manager_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_interface_added_id = -1;
-       static int subs_interface_removed_id = -1;
-       static int subs_name_owner_id = -1;
-       static int subs_property_id = -1;
-       static int subs_adapter_id = -1;
-       static int subs_gatt_id = -1;
+       static guint subs_interface_added_id;
+       static guint subs_interface_removed_id;
+       static guint subs_name_owner_id;
+       static guint subs_property_id;
+       static guint subs_adapter_id;
+       static guint subs_gatt_id;
 
        if (subscribe) {
-               if (subs_interface_added_id == -1) {
+               if (subs_interface_added_id == 0) {
                        subs_interface_added_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_ADDED, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_interface_removed_id == -1) {
+               if (subs_interface_removed_id == 0) {
                        subs_interface_removed_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_REMOVED, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_name_owner_id == -1) {
+               if (subs_name_owner_id == 0) {
                        subs_name_owner_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_FREEDESKTOP_INTERFACE,
                                BT_NAME_OWNER_CHANGED, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_property_id == -1) {
+               if (subs_property_id == 0) {
                        subs_property_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_PROPERTIES_INTERFACE,
                                BT_PROPERTIES_CHANGED, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_adapter_id == -1) {
+               if (subs_adapter_id == 0) {
                        subs_adapter_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_ADAPTER_INTERFACE,
                                NULL, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_gatt_id == -1) {
+               if (subs_gatt_id == 0) {
                        subs_gatt_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_GATT_CHAR_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3316,33 +3297,33 @@ int _bt_register_manager_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_interface_added_id != -1) {
+               if (subs_interface_added_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_interface_added_id);
-                       subs_interface_added_id = -1;
+                       subs_interface_added_id = 0;
                }
-               if (subs_interface_removed_id != -1) {
+               if (subs_interface_removed_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_interface_removed_id);
-                       subs_interface_removed_id = -1;
+                       subs_interface_removed_id = 0;
                }
-               if (subs_name_owner_id != -1) {
+               if (subs_name_owner_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_name_owner_id);
-                       subs_name_owner_id = -1;
+                       subs_name_owner_id = 0;
                }
-               if (subs_property_id != -1) {
+               if (subs_property_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_property_id);
-                       subs_property_id = -1;
+                       subs_property_id = 0;
                }
-               if (subs_adapter_id != -1) {
+               if (subs_adapter_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn, subs_adapter_id);
-                       subs_adapter_id = -1;
+                       subs_adapter_id = 0;
                }
-               if (subs_gatt_id != -1) {
+               if (subs_gatt_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn, subs_gatt_id);
-                       subs_gatt_id = -1;
+                       subs_gatt_id = 0;
                }
        }
        return 0;
@@ -3354,10 +3335,10 @@ int _bt_register_device_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_device_id = -1;
+       static guint subs_device_id = 0;
 
        if (subscribe) {
-               if (subs_device_id == -1) {
+               if (subs_device_id == 0) {
                        subs_device_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_DEVICE_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3365,10 +3346,10 @@ int _bt_register_device_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_device_id != -1) {
+               if (subs_device_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_device_id);
-                       subs_device_id = -1;
+                       subs_device_id = 0;
                }
        }
        return 0;
@@ -3380,10 +3361,10 @@ int _bt_register_input_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_input_id = -1;
+       static int subs_input_id = 0;
 
        if (subscribe) {
-               if (subs_input_id == -1) {
+               if (subs_input_id == 0) {
                        subs_input_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_INPUT_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3391,10 +3372,10 @@ int _bt_register_input_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_input_id != -1) {
+               if (subs_input_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_input_id);
-                       subs_input_id = -1;
+                       subs_input_id = 0;
                }
        }
        return 0;
@@ -3406,18 +3387,18 @@ int _bt_register_network_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_serv_id = -1;
-       static int subs_client_id = -1;
+       static guint subs_serv_id = 0;
+       static guint subs_client_id = 0;
 
        if (subscribe) {
-               if (subs_serv_id == -1) {
+               if (subs_serv_id == 0) {
                        subs_serv_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_NETWORK_SERVER_INTERFACE,
                                NULL, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_client_id == -1) {
+               if (subs_client_id == 0) {
                        subs_client_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_NETWORK_CLIENT_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3425,15 +3406,15 @@ int _bt_register_network_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_serv_id != -1) {
+               if (subs_serv_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_serv_id);
-                       subs_serv_id = -1;
+                       subs_serv_id = 0;
                }
-               if (subs_client_id != -1) {
+               if (subs_client_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_client_id);
-                       subs_client_id = -1;
+                       subs_client_id = 0;
                }
        }
        return 0;
@@ -3445,18 +3426,18 @@ int _bt_register_audio_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_headset_id = -1;
-       static int subs_sink_id = -1;
+       static guint subs_headset_id = 0;
+       static guint subs_sink_id = 0;
 
        if (subscribe) {
-               if (subs_headset_id == -1) {
+               if (subs_headset_id == 0) {
                        subs_headset_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_HEADSET_INTERFACE,
                                NULL, NULL, NULL, 0,
                                __bt_manager_event_filter,
                                NULL, NULL);
                }
-               if (subs_sink_id == -1) {
+               if (subs_sink_id == 0) {
                        subs_sink_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_SINK_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3464,15 +3445,15 @@ int _bt_register_audio_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_headset_id != -1) {
+               if (subs_headset_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_headset_id);
-                       subs_headset_id = -1;
+                       subs_headset_id = 0;
                }
-               if (subs_sink_id != -1) {
+               if (subs_sink_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_sink_id);
-                       subs_sink_id = -1;
+                       subs_sink_id = 0;
                }
        }
        return 0;
@@ -3484,27 +3465,27 @@ int _bt_register_opp_server_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_opp_server_interface_added_id = -1;
-       static int subs_opp_server_interface_removed_id = -1;
-       static int subs_opp_server_property_id = -1;
+       static guint subs_opp_server_interface_added_id = 0;
+       static guint subs_opp_server_interface_removed_id = 0;
+       static guint subs_opp_server_property_id = 0;
 
 
        if (subscribe) {
-               if (subs_opp_server_interface_added_id == -1) {
+               if (subs_opp_server_interface_added_id == 0) {
                        subs_opp_server_interface_added_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_ADDED, NULL, NULL, 0,
                                __bt_obexd_event_filter,
                                NULL, NULL);
                }
-               if (subs_opp_server_interface_removed_id == -1) {
+               if (subs_opp_server_interface_removed_id == 0) {
                        subs_opp_server_interface_removed_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_REMOVED, NULL, NULL, 0,
                                __bt_obexd_event_filter,
                                NULL, NULL);
                }
-               if (subs_opp_server_property_id == -1) {
+               if (subs_opp_server_property_id == 0) {
                        subs_opp_server_property_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_PROPERTIES_INTERFACE,
                                BT_PROPERTIES_CHANGED, NULL, NULL, 0,
@@ -3512,20 +3493,20 @@ int _bt_register_opp_server_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_opp_server_interface_added_id != -1) {
+               if (subs_opp_server_interface_added_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_opp_server_interface_added_id);
-                       subs_opp_server_interface_added_id = -1;
+                       subs_opp_server_interface_added_id = 0;
                }
-               if (subs_opp_server_interface_removed_id != -1) {
+               if (subs_opp_server_interface_removed_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_opp_server_interface_removed_id);
-                       subs_opp_server_interface_removed_id = -1;
+                       subs_opp_server_interface_removed_id = 0;
                }
-               if (subs_opp_server_property_id != -1) {
+               if (subs_opp_server_property_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_opp_server_property_id);
-                       subs_opp_server_property_id = -1;
+                       subs_opp_server_property_id = 0;
                }
        }
        return 0;
@@ -3537,27 +3518,27 @@ int _bt_register_opp_client_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_opp_client_interface_added_id = -1;
-       static int subs_opp_client_interface_removed_id = -1;
-       static int subs_opp_client_property_id = -1;
+       static guint subs_opp_client_interface_added_id = 0;
+       static guint subs_opp_client_interface_removed_id = 0;
+       static guint subs_opp_client_property_id = 0;
 
 
        if (subscribe) {
-               if (subs_opp_client_interface_added_id == -1) {
+               if (subs_opp_client_interface_added_id == 0) {
                        subs_opp_client_interface_added_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_ADDED, NULL, NULL, 0,
                                __bt_opc_event_filter,
                                NULL, NULL);
                }
-               if (subs_opp_client_interface_removed_id == -1) {
+               if (subs_opp_client_interface_removed_id == 0) {
                        subs_opp_client_interface_removed_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_REMOVED, NULL, NULL, 0,
                                __bt_opc_event_filter,
                                NULL, NULL);
                }
-               if (subs_opp_client_property_id == -1) {
+               if (subs_opp_client_property_id == 0) {
                        subs_opp_client_property_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_PROPERTIES_INTERFACE,
                                BT_PROPERTIES_CHANGED, NULL, NULL, 0,
@@ -3565,20 +3546,20 @@ int _bt_register_opp_client_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_opp_client_interface_added_id != -1) {
+               if (subs_opp_client_interface_added_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_opp_client_interface_added_id);
-                       subs_opp_client_interface_added_id = -1;
+                       subs_opp_client_interface_added_id = 0;
                }
-               if (subs_opp_client_interface_removed_id != -1) {
+               if (subs_opp_client_interface_removed_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_opp_client_interface_removed_id);
-                       subs_opp_client_interface_removed_id = -1;
+                       subs_opp_client_interface_removed_id = 0;
                }
-               if (subs_opp_client_property_id != -1) {
+               if (subs_opp_client_property_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_opp_client_property_id);
-                       subs_opp_client_property_id = -1;
+                       subs_opp_client_property_id = 0;
                }
        }
        return 0;
@@ -3590,27 +3571,27 @@ int _bt_register_map_client_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_map_client_interface_added_id = -1;
-       static int subs_map_client_interface_removed_id = -1;
-       static int subs_map_client_property_id = -1;
+       static guint subs_map_client_interface_added_id = 0;
+       static guint subs_map_client_interface_removed_id = 0;
+       static guint subs_map_client_property_id = 0;
 
 
        if (subscribe) {
-               if (subs_map_client_interface_added_id == -1) {
+               if (subs_map_client_interface_added_id == 0) {
                        subs_map_client_interface_added_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_ADDED, NULL, NULL, 0,
                                __bt_map_event_filter,
                                NULL, NULL);
                }
-               if (subs_map_client_interface_removed_id == -1) {
+               if (subs_map_client_interface_removed_id == 0) {
                        subs_map_client_interface_removed_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_MANAGER_INTERFACE,
                                BT_INTERFACES_REMOVED, NULL, NULL, 0,
                                __bt_map_event_filter,
                                NULL, NULL);
                }
-               if (subs_map_client_property_id == -1) {
+               if (subs_map_client_property_id == 0) {
                        subs_map_client_property_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_PROPERTIES_INTERFACE,
                                BT_PROPERTIES_CHANGED, NULL, NULL, 0,
@@ -3618,20 +3599,20 @@ int _bt_register_map_client_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_map_client_interface_added_id != -1) {
+               if (subs_map_client_interface_added_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_map_client_interface_added_id);
-                       subs_map_client_interface_added_id = -1;
+                       subs_map_client_interface_added_id = 0;
                }
-               if (subs_map_client_interface_removed_id != -1) {
+               if (subs_map_client_interface_removed_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_map_client_interface_removed_id);
-                       subs_map_client_interface_removed_id = -1;
+                       subs_map_client_interface_removed_id = 0;
                }
-               if (subs_map_client_property_id != -1) {
+               if (subs_map_client_property_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_map_client_property_id);
-                       subs_map_client_property_id = -1;
+                       subs_map_client_property_id = 0;
                }
        }
        return 0;
@@ -3643,18 +3624,18 @@ int _bt_register_a2dp_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_a2dp_source_id = -1;
-       static int subs_a2dp_sink_id = -1;
+       static guint subs_a2dp_source_id = 0;
+       static guint subs_a2dp_sink_id = 0;
 
        if (subscribe) {
-               if (subs_a2dp_source_id == -1) {
+               if (subs_a2dp_source_id == 0) {
                        subs_a2dp_source_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_A2DP_SOURCE_INTERFACE,
                                NULL, NULL, NULL, 0,
                                __bt_opc_event_filter,
                                NULL, NULL);
                }
-               if (subs_a2dp_sink_id == -1) {
+               if (subs_a2dp_sink_id == 0) {
                        subs_a2dp_sink_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_SINK_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3662,15 +3643,15 @@ int _bt_register_a2dp_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_a2dp_source_id != -1) {
+               if (subs_a2dp_source_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_a2dp_source_id);
-                       subs_a2dp_source_id = -1;
+                       subs_a2dp_source_id = 0;
                }
-               if (subs_a2dp_sink_id != -1) {
+               if (subs_a2dp_sink_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_a2dp_sink_id);
-                       subs_a2dp_sink_id = -1;
+                       subs_a2dp_sink_id = 0;
                }
        }
        return 0;
@@ -3681,10 +3662,10 @@ int _bt_register_tds_provider_subscribe_signal(GDBusConnection *conn, int subscr
        if (conn == NULL)
                return -1;
 
-       static int subs_custom_id = -1;
+       static guint subs_custom_id = 0;
 
        if (subscribe) {
-               if (subs_custom_id == -1) {
+               if (subs_custom_id == 0) {
                        subs_custom_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_TDS_PROVIDER_INTERFACE,
                                NULL, NULL, NULL, 0,
@@ -3692,10 +3673,10 @@ int _bt_register_tds_provider_subscribe_signal(GDBusConnection *conn, int subscr
                                NULL, NULL);
                }
        } else {
-               if (subs_custom_id != -1) {
+               if (subs_custom_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_custom_id);
-                       subs_custom_id = -1;
+                       subs_custom_id = 0;
                }
        }
 
@@ -3719,10 +3700,10 @@ int __bt_register_dump_subscribe_signal(GDBusConnection *conn,
        if (conn == NULL)
                return -1;
 
-       static int subs_source_id = -1;
+       static guint subs_source_id = 0;
 
        if (subscribe) {
-               if (subs_source_id == -1) {
+               if (subs_source_id == 0) {
                        subs_source_id = g_dbus_connection_signal_subscribe(conn,
                                NULL, BT_DUMP_SERVICE_INTERFACE,
                                BT_DUMP_SERVICE_SIGNAL, BT_DUMP_SERVICE_PATH, NULL, 0,
@@ -3730,10 +3711,10 @@ int __bt_register_dump_subscribe_signal(GDBusConnection *conn,
                                NULL, NULL);
                }
        } else {
-               if (subs_source_id != -1) {
+               if (subs_source_id > 0) {
                        g_dbus_connection_signal_unsubscribe(conn,
                                        subs_source_id);
-                       subs_source_id = -1;
+                       subs_source_id = 0;
                }
        }
        return 0;
@@ -3879,7 +3860,7 @@ static int __bt_init_obexd_receiver(void)
                GError *error = NULL;
 
                if (obexd_conn == NULL) {
-                       obexd_conn = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, &error);
+                       obexd_conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
                        if (error != NULL) {
                                BT_ERR("ERROR: Can't get on session bus [%s]", error->message);
                                g_clear_error(&error);