X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-adapter-le.c;h=7899e193bf6047aa546fc96bdf7ddf2503ea790b;hb=39ba85ec55b2de81bb872bacb035f6731e56086e;hp=989d2d40dbdabee255c8aad1050c0606426e620e;hpb=5a7a8022285f9381eb8c7c7fba3a9977651c0e1b;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-adapter-le.c b/bt-api/bt-adapter-le.c index 989d2d4..7899e19 100644 --- a/bt-api/bt-adapter-le.c +++ b/bt-api/bt-adapter-le.c @@ -26,14 +26,13 @@ #include "bt-event-handler.h" static gboolean is_le_scanning = FALSE; -static int is_scan_filter_supported = -1; BT_EXPORT_API int bluetooth_check_adapter_le(void) { int ret; int value; - ret = _bt_get_adapter_path(_bt_gdbus_get_system_gconn(), NULL); + ret = _bt_get_adapter_path(_bt_get_system_private_conn(), NULL); if (ret != BLUETOOTH_ERROR_NONE) return BLUETOOTH_ADAPTER_LE_DISABLED; @@ -82,7 +81,7 @@ BT_EXPORT_API int bluetooth_disable_adapter_le(void) void _bt_set_le_scan_status(gboolean mode) { - BT_DBG("set LE scan mode : %d", mode); + BT_DBG("set LE scan mode : %d -> %d", is_le_scanning, mode); is_le_scanning = mode; } @@ -101,6 +100,7 @@ BT_EXPORT_API int bluetooth_start_le_discovery(void) BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); BT_INFO_C("### Start LE scan"); + _bt_print_api_caller_name(); result = _bt_send_request(BT_BLUEZ_SERVICE, BT_START_LE_DISCOVERY, in_param1, in_param2, in_param3, in_param4, &out_param); @@ -122,6 +122,7 @@ BT_EXPORT_API int bluetooth_stop_le_discovery(void) BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); BT_INFO_C("### Stop LE scan"); + _bt_print_api_caller_name(); result = _bt_send_request(BT_BLUEZ_SERVICE, BT_STOP_LE_DISCOVERY, in_param1, in_param2, in_param3, in_param4, &out_param); @@ -158,48 +159,22 @@ BT_EXPORT_API int bluetooth_is_le_discovering(void) return is_discovering; } -BT_EXPORT_API gboolean bluetooth_is_scan_filter_supported(void) +BT_EXPORT_API int bluetooth_is_scan_filter_supported(gboolean *is_supported) { int result; - if (is_scan_filter_supported == -1) { - BT_INIT_PARAMS(); - BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); - - result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_SCAN_FILTER_SUPPORTED, - in_param1, in_param2, in_param3, in_param4, &out_param); - - if (result == BLUETOOTH_ERROR_NONE) - is_scan_filter_supported = g_array_index(out_param, int, 0); - else - BT_ERR("Fail to send request"); - - BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); - } - - if (is_scan_filter_supported == 1) - return TRUE; - - return FALSE; -} - -BT_EXPORT_API int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *filter, int *slot_id) -{ - int result; - - BT_CHECK_ENABLED_ANY(return); + BT_CHECK_PARAMETER(is_supported, return); BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); - g_array_append_vals(in_param1, filter, sizeof(bluetooth_le_scan_filter_t)); - - result = _bt_send_request(BT_BLUEZ_SERVICE, BT_REGISTER_SCAN_FILTER, - in_param1, in_param2, in_param3, in_param4, &out_param); + result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_SCAN_FILTER_SUPPORTED, + in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_ERROR_NONE) - *slot_id = g_array_index(out_param, int, 0); - else + if (result == BLUETOOTH_ERROR_NONE) { + *is_supported = g_array_index(out_param, int, 0); + BT_INFO("Scan Filter Support[%s]", *is_supported ? "TRUE" : "FALSE"); + } else BT_ERR("Fail to send request"); BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); @@ -207,7 +182,7 @@ BT_EXPORT_API int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *fil return result; } -BT_EXPORT_API int bluetooth_unregister_scan_filter(int slot_id) +BT_EXPORT_API int bluetooth_register_scan_filter(bluetooth_le_scan_filter_t *filter) { int result; @@ -216,26 +191,9 @@ BT_EXPORT_API int bluetooth_unregister_scan_filter(int slot_id) BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); - g_array_append_vals(in_param1, &slot_id, sizeof(int)); - - result = _bt_send_request(BT_BLUEZ_SERVICE, BT_UNREGISTER_SCAN_FILTER, - in_param1, in_param2, in_param3, in_param4, &out_param); - - BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); - - return result; -} - -BT_EXPORT_API int bluetooth_unregister_all_scan_filters(void) -{ - int result; - - BT_CHECK_ENABLED_ANY(return); - - BT_INIT_PARAMS(); - BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + g_array_append_vals(in_param1, filter, sizeof(bluetooth_le_scan_filter_t)); - result = _bt_send_request(BT_BLUEZ_SERVICE, BT_UNREGISTER_ALL_SCAN_FILTERS, + result = _bt_send_request(BT_BLUEZ_SERVICE, BT_REGISTER_SCAN_FILTER, in_param1, in_param2, in_param3, in_param4, &out_param); BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); @@ -275,6 +233,8 @@ BT_EXPORT_API int bluetooth_set_advertising(int handle, gboolean enable) if (TIZEN_PROFILE_WEARABLE) use_reserved_slot = __bluetooth_is_privileged_process(); + _bt_print_api_caller_name(); + BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); @@ -301,6 +261,8 @@ BT_EXPORT_API int bluetooth_set_custom_advertising(int handle, gboolean enable, if (TIZEN_PROFILE_WEARABLE) use_reserved_slot = __bluetooth_is_privileged_process(); + _bt_print_api_caller_name(); + BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); @@ -453,6 +415,25 @@ BT_EXPORT_API int bluetooth_set_scan_parameters(bluetooth_le_scan_params_t *para return result; } +BT_EXPORT_API int bluetooth_set_scan_type(bluetooth_le_scan_type_t scan_type) +{ + int result; + + BT_CHECK_ENABLED_ANY(return); + + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + g_array_append_vals(in_param1, &scan_type, sizeof(int)); + + result = _bt_send_request(BT_BLUEZ_SERVICE, BT_SET_SCAN_TYPE, + in_param1, in_param2, in_param3, in_param4, &out_param); + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + return result; +} + BT_EXPORT_API int bluetooth_is_advertising(gboolean *is_advertising) { int result; @@ -709,3 +690,53 @@ BT_EXPORT_API int bluetooth_le_set_data_length(bluetooth_device_address_t *addre return result; } + +BT_EXPORT_API int bluetooth_is_le_2m_phy_supported(gboolean *is_supported) +{ + int result; + + BT_CHECK_PARAMETER(is_supported, return); + BT_CHECK_ENABLED_ANY(return); + + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_LE_2M_PHY_SUPPORTED, + in_param1, in_param2, in_param3, in_param4, &out_param); + + if (result == BLUETOOTH_ERROR_NONE) { + *is_supported = g_array_index(out_param, int, 0); + } else { + BT_ERR("Fail to send request"); + } + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + BT_INFO("LE 2M PHY Support[%s]", *is_supported ? "TRUE" : "FALSE"); + return result; +} + +BT_EXPORT_API int bluetooth_is_le_coded_phy_supported(gboolean *is_supported) +{ + int result; + + BT_CHECK_PARAMETER(is_supported, return); + BT_CHECK_ENABLED_ANY(return); + + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_LE_CODED_PHY_SUPPORTED, + in_param1, in_param2, in_param3, in_param4, &out_param); + + if (result == BLUETOOTH_ERROR_NONE) { + *is_supported = g_array_index(out_param, int, 0); + } else { + BT_ERR("Fail to send request"); + } + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + BT_INFO("LE CODED PHY Support[%s]", *is_supported ? "TRUE" : "FALSE"); + return result; +}