#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)
{
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;
}
BT_EXPORT_API int bluetooth_start_le_discovery(void)
{
int result;
+ uid_t uid = getuid();
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, &uid, sizeof(uid_t));
+
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);
BT_EXPORT_API int bluetooth_stop_le_discovery(void)
{
int result;
+ uid_t uid = getuid();
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, &uid, sizeof(uid_t));
+
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);
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
- _bt_set_le_scan_status(FALSE);
+ if (result == BLUETOOTH_ERROR_NONE)
+ _bt_set_le_scan_status(FALSE);
return result;
}
return is_discovering;
}
-BT_EXPORT_API gboolean bluetooth_is_scan_filter_supported(void)
-{
- 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)
+BT_EXPORT_API int bluetooth_is_scan_filter_supported(gboolean *is_supported)
{
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);
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;
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);
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);
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);
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;