X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-common.c;h=2161643fdadba84f08f0954b0a2eb307b43addc6;hb=9f74cef30955a69207528797d25173dcd73bb49c;hp=bfeb4dd9251d27d30c258a7782bdbabfc41b16a0;hpb=26f893a79b8e32239e57cefd365de299a9c2d2c8;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-common.c b/bt-api/bt-common.c index bfeb4dd..2161643 100644 --- a/bt-api/bt-common.c +++ b/bt-api/bt-common.c @@ -133,6 +133,52 @@ bt_user_info_t *_bt_get_user_data(int type) return &user_info[type]; } +int _bt_common_send_rfcomm_rx_details(int len) +{ + uid_t uid = getuid(); + pid_t pid = getpid(); + int size = len; + int ret = BLUETOOTH_ERROR_NONE; + + BT_INFO("+"); + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + g_array_append_vals(in_param1, &uid, sizeof(uid_t)); + g_array_append_vals(in_param2, &pid, sizeof(pid_t)); + g_array_append_vals(in_param3, &size, sizeof(int)); + + ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_SEND_RX_DETAILS, + in_param1, in_param2, in_param3, in_param4, &out_param); + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + BT_INFO("-"); + return ret; +} + +int _bt_common_send_rfcomm_tx_details(int len) +{ + uid_t uid = getuid(); + pid_t pid = getpid(); + int size = len; + int ret = BLUETOOTH_ERROR_NONE; + + BT_INFO("+"); + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + g_array_append_vals(in_param1, &uid, sizeof(uid_t)); + g_array_append_vals(in_param2, &pid, sizeof(pid_t)); + g_array_append_vals(in_param3, &size, sizeof(int)); + + ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_SEND_TX_DETAILS, + in_param1, in_param2, in_param3, in_param4, &out_param); + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + BT_INFO("-"); + return ret; +} + void _bt_common_event_cb(int event, int result, void *param, void *callback, void *user_data) { @@ -488,8 +534,6 @@ const char *_bt_convert_service_function_to_string(int function) {BT_REMOVE_WHITE_LIST, "BT_REMOVE_WHITE_LIST"}, {BT_CLEAR_WHITE_LIST, "BT_CLEAR_WHITE_LIST"}, {BT_REGISTER_SCAN_FILTER, "BT_REGISTER_SCAN_FILTER"}, - {BT_UNREGISTER_SCAN_FILTER, "BT_UNREGISTER_SCAN_FILTER"}, - {BT_UNREGISTER_ALL_SCAN_FILTERS, "BT_UNREGISTER_ALL_SCAN_FILTERS"}, {BT_IS_SCAN_FILTER_SUPPORTED, "BT_IS_SCAN_FILTER_SUPPORTED"}, {BT_GET_PROFILE_CONNECTED_DEVICES, "BT_GET_PROFILE_CONNECTED_DEVICES"}, {BT_ENABLE_FORCE_HCI_DUMP, "BT_ENABLE_FORCE_HCI_DUMP"}, @@ -545,9 +589,14 @@ const char *_bt_convert_service_function_to_string(int function) {BT_SET_SPEAKER_GAIN, "BT_SET_SPEAKER_GAIN"}, {BT_SET_CONTENT_PROTECT, "BT_SET_CONTENT_PROTECT"}, {BT_AUDIO_SELECT_ROLE, "BT_AUDIO_SELECT_ROLE"}, + {BT_AUDIO_SET_ABSOLUTE_VOLUME, "BT_AUDIO_SET_ABSOLUTE_VOLUME"}, + {BT_AUDIO_GET_ABSOLUTE_VOLUME, "BT_AUDIO_GET_ABSOLUTE_VOLUME"}, + {BT_AUDIO_IS_AVC_ACTIVATED, "BT_AUDIO_IS_AVC_ACTIVATED"}, {BT_OOB_READ_LOCAL_DATA, "BT_OOB_READ_LOCAL_DATA"}, {BT_OOB_ADD_REMOTE_DATA, "BT_OOB_ADD_REMOTE_DATA"}, {BT_OOB_REMOVE_REMOTE_DATA, "BT_OOB_REMOVE_REMOTE_DATA"}, + {BT_LE_OOB_READ_LOCAL_DATA, "BT_LE_OOB_READ_LOCAL_DATA"}, + {BT_LE_OOB_ADD_REMOTE_DATA, "BT_LE_OOB_ADD_REMOTE_DATA"}, {BT_AVRCP_SET_TRACK_INFO, "BT_AVRCP_SET_TRACK_INFO"}, {BT_AVRCP_SET_PROPERTY, "BT_AVRCP_SET_PROPERTY"}, {BT_AVRCP_SET_PROPERTIES, "BT_AVRCP_SET_PROPERTIES"}, @@ -748,7 +797,6 @@ gboolean _bt_utf8_validate(char *name) return TRUE; } - static GDBusProxy *profile_gproxy; static int latest_id = -1; #define BT_RFCOMM_ID_MAX 245 @@ -1357,7 +1405,7 @@ void _bt_print_api_caller_name(void) if (fgets(buf, 256, fp) != NULL) { str_list = g_strsplit(buf, " ", -1); - if (str_list[0] != '\0') + if (str_list[0] != NULL) BT_INFO("Caller : %s", str_list[0]); g_strfreev(str_list); } @@ -1420,6 +1468,8 @@ int _bt_connect_profile(char *address, char *uuid, void *cb, DBUS_TIMEOUT, NULL, (GAsyncReadyCallback)cb, func_data); + if (cb == NULL) + g_object_unref(proxy); BT_DBG("-"); return BLUETOOTH_ERROR_NONE; } @@ -1465,6 +1515,8 @@ int _bt_discover_services(char *address, char *uuid, void *cb, DBUS_TIMEOUT, NULL, (GAsyncReadyCallback)cb, func_data); + if (cb == NULL) + g_object_unref(proxy); BT_DBG("-"); return BLUETOOTH_ERROR_NONE; } @@ -1685,6 +1737,8 @@ int _bt_disconnect_profile(char *address, char *uuid, void *cb, DBUS_TIMEOUT, NULL, (GAsyncReadyCallback)cb, func_data); + if (cb == NULL) + g_object_unref(proxy); BT_DBG("-"); return BLUETOOTH_ERROR_NONE; } @@ -1709,6 +1763,7 @@ int _bt_disconnect_ext_profile(char *address, char *path) g_variant_new("(o)", path), G_DBUS_CALL_FLAGS_NONE, DBUS_TIMEOUT, NULL, NULL, NULL); + g_object_unref(proxy); BT_DBG("-"); return BLUETOOTH_ERROR_NONE; } @@ -2430,7 +2485,6 @@ BT_EXPORT_API int bluetooth_unregister_callback(void) { int ret; - ret = _bt_deinit_event_handler(); if (ret != BLUETOOTH_ERROR_NONE) BT_ERR("Fail to deinit the event handler"); @@ -2441,8 +2495,15 @@ BT_EXPORT_API int bluetooth_unregister_callback(void) _bt_set_obex_server_id(BT_NO_SERVER); + _bt_reset_battery_monitor_info(); + _bt_gdbus_deinit_proxys(); + if (profile_gproxy) { + g_object_unref(profile_gproxy); + profile_gproxy = NULL; + } + if (system_private_conn) { g_object_unref(system_private_conn); system_private_conn = NULL; @@ -2450,4 +2511,3 @@ BT_EXPORT_API int bluetooth_unregister_callback(void) return BLUETOOTH_ERROR_NONE; } -