X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-common.c;h=515d4ce2c24b5329ef74425ccd696c2eb78be447;hb=9378ba57f1d5507fed275b215c70e1d53d774a61;hp=7a09b6d06717e2ebf4c37e61a91846321133e7a5;hpb=d9b08c1cb048357d6bdfc8ce9ce6f59ef364a4ad;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-common.c b/bt-api/bt-common.c old mode 100755 new mode 100644 index 7a09b6d..515d4ce --- a/bt-api/bt-common.c +++ b/bt-api/bt-common.c @@ -37,8 +37,12 @@ #include "bt-request-sender.h" #include "bt-event-handler.h" +#ifdef TIZEN_DPM_ENABLE +#include "bt-dpm.h" +#endif + + static bt_user_info_t user_info[BT_MAX_USER_INFO]; -static DBusConnection *system_conn = NULL; static GDBusConnection *system_gdbus_conn = NULL; @@ -57,13 +61,13 @@ GDBusConnection *g_bus_get_private_conn(void) address = g_dbus_address_get_for_bus_sync(G_BUS_TYPE_SYSTEM, NULL, &error); if (address == NULL) { if (error) { - BT_ERR ("Failed to get bus address: %s", error->message); + BT_ERR("Failed to get bus address: %s", error->message); g_clear_error(&error); } return NULL; } - private_gconn = g_dbus_connection_new_for_address_sync (address, + private_gconn = g_dbus_connection_new_for_address_sync(address, G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT | G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION, NULL, /* GDBusAuthObserver */ @@ -84,8 +88,6 @@ GDBusConnection *_bt_gdbus_init_system_gconn(void) { dbus_threads_init_default(); - g_type_init(); - if (system_gconn != NULL) return system_gconn; @@ -96,9 +98,11 @@ GDBusConnection *_bt_gdbus_init_system_gconn(void) GDBusConnection *_bt_gdbus_get_system_gconn(void) { + + if (system_gconn == NULL) { system_gconn = _bt_gdbus_init_system_gconn(); - } else if (g_dbus_connection_is_closed(system_gconn)){ + } else if (g_dbus_connection_is_closed(system_gconn)) { system_gconn = g_bus_get_private_conn(); } @@ -265,7 +269,7 @@ int _bt_copy_utf8_string(char *dest, const char *src, unsigned int length) while (count > 0 && ((i + count) < length)) { dest[i++] = *p; p++; - count --; + count--; } p = next; } @@ -605,7 +609,7 @@ fail: return adapter_proxy; } -int _bt_register_new_conn_ex(const char *path, const char *bus_name,bt_new_connection_cb cb) +int _bt_register_new_conn_ex(const char *path, const char *bus_name, bt_new_connection_cb cb) { GDBusConnection *gconn; int id; @@ -1066,7 +1070,7 @@ int _bt_discover_service_uuids(char *address, char *remote_uuid) GError *err = NULL; char **uuid_value = NULL; gsize size = 0; - int i =0; + int i = 0; GVariant *value = NULL; GVariant *ret = NULL; int result = BLUETOOTH_ERROR_INTERNAL; @@ -1428,31 +1432,20 @@ void _bt_device_path_to_address(const char *device_path, char *device_address) } } -/* TODO : replace the dbus-glib APIs to gdbus APIs */ -DBusConnection *__bt_init_system_conn(void) +GDBusConnection *_bt_init_system_gdbus_conn(void) { - if (system_conn == NULL) - system_conn = dbus_bus_get_private(DBUS_BUS_SYSTEM, NULL); - - if (system_conn) { - dbus_connection_setup_with_g_main(system_conn, NULL); - dbus_connection_set_exit_on_disconnect(system_conn, FALSE); - } - - return system_conn; -} - -DBusConnection *_bt_get_system_conn(void) -{ - DBusConnection *conn = NULL; - - if (system_conn == NULL) { - conn = __bt_init_system_conn(); - } else { - conn = system_conn; + GError *error = NULL; + if (system_gdbus_conn == NULL) { + system_gdbus_conn = + g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error); + if (error) { + BT_ERR("GDBus connection Error : %s \n", + error->message); + g_clear_error(&error); + return NULL; + } } - - return conn; + return system_gdbus_conn; } @@ -1542,7 +1535,7 @@ GVariant *_bt_get_managed_objects(void) return NULL; } - result = g_dbus_proxy_call_sync (manager_proxy, + result = g_dbus_proxy_call_sync(manager_proxy, "GetManagedObjects", NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error); @@ -1607,7 +1600,6 @@ BT_EXPORT_API int bluetooth_register_callback(bluetooth_cb_func_ptr callback_ptr int ret; _bt_gdbus_init_system_gconn(); - __bt_init_system_conn(); ret = _bt_init_event_handler(); if (ret != BLUETOOTH_ERROR_NONE && @@ -1664,17 +1656,10 @@ BT_EXPORT_API int bluetooth_unregister_callback(void) _bt_set_user_data(BT_COMMON, NULL, NULL); - if (system_conn) { - dbus_connection_flush(system_conn); - dbus_connection_close(system_conn); - dbus_connection_unref(system_conn); - system_conn = NULL; - } if (system_gconn) { g_object_unref(system_gconn); system_gconn = NULL; } - _bt_gdbus_deinit_proxys(); return BLUETOOTH_ERROR_NONE; }