if (telephony_dbus_info.manager_proxy == NULL) {
DBG("Could not create a manager proxy\n");
+ __bluetooth_telephony_proxy_deinit();
dbus_g_connection_unref(telephony_dbus_info.conn);
telephony_dbus_info.conn = NULL;
return BLUETOOTH_TELEPHONY_ERROR_INTERNAL;
DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS);
if (NULL == telephony_dbus_info.dbus_proxy) {
+ __bluetooth_telephony_proxy_deinit();
dbus_g_connection_unref(telephony_dbus_info.conn);
telephony_dbus_info.conn = NULL;
g_object_unref(telephony_dbus_info.manager_proxy);
telephony_info.cb = cb;
telephony_info.user_data = user_data;
- /*Check for BT status*/
- ret = __bluetooth_get_default_adapter_path(telephony_dbus_info.conn,
- object_path);
- if (ret != BLUETOOTH_TELEPHONY_ERROR_NONE)
- return BLUETOOTH_TELEPHONY_ERROR_NOT_ENABLED;
-
- /*Bluetooth is active, therefore set the flag */
- is_active = TRUE;
-
- ret = __bluetooth_telephony_register();
- if (ret != BLUETOOTH_TELEPHONY_ERROR_NONE) {
- DBG("__bluetooth_telephony_register failed\n");
- goto fail;
- }
-
dbus_error_init(&dbus_error);
conn = dbus_g_connection_get_connection(telephony_dbus_info.conn);
dbus_connection_add_filter(conn, __bluetooth_telephony_event_filter,
if (dbus_error_is_set(&dbus_error)) {
DBG("Fail to add dbus filter signal\n");
dbus_error_free(&dbus_error);
- __bluetooth_telephony_unregister();
dbus_connection_remove_filter(dbus_g_connection_get_connection(
telephony_dbus_info.conn),
__bluetooth_telephony_event_filter, NULL);
goto fail;
}
+ /*Check for BT status*/
+ ret = __bluetooth_get_default_adapter_path(telephony_dbus_info.conn,
+ object_path);
+ if (ret != BLUETOOTH_TELEPHONY_ERROR_NONE)
+ return BLUETOOTH_TELEPHONY_ERROR_NOT_ENABLED;
+
+ /*Bluetooth is active, therefore set the flag */
+ is_active = TRUE;
+
+ ret = __bluetooth_telephony_register();
+ if (ret != BLUETOOTH_TELEPHONY_ERROR_NONE) {
+ DBG("__bluetooth_telephony_register failed\n");
+ goto fail;
+ }
+
DBG("bluetooth_telephony_init -\n");
return ret;
fail:
G_CALLBACK(__bluetooth_telephony_name_owner_changed),
NULL);
- g_object_unref(telephony_dbus_info.dbus_proxy);
-
/*Remove BT enabled signal*/
dbus_g_proxy_disconnect_signal(
telephony_dbus_info.manager_proxy,
G_CALLBACK(__bluetooth_telephony_name_owner_changed),
NULL);
- g_object_unref(telephony_dbus_info.dbus_proxy);
-
/*Remove BT enabled signal*/
dbus_g_proxy_disconnect_signal(
telephony_dbus_info.manager_proxy,
{
DBG("+");
+ bt_info.bt_discovery_res_timer = 0;
+
if (bluetooth_is_discovering() == FALSE) {
bt_info.is_discovering = FALSE;
_bluetooth_internal_discovery_completed_cb();
dbus_g_proxy_call(adapter, "StopDiscovery", NULL,
G_TYPE_INVALID, G_TYPE_INVALID);
- g_timeout_add(BT_DISCOVERY_FINISHED_DELAY,
+ bt_info.bt_discovery_res_timer = g_timeout_add(BT_DISCOVERY_FINISHED_DELAY,
(GSourceFunc)_bt_discovery_finished_cb, NULL);
} else {
if (bt_info.is_discovering == FALSE) {