Add the implementation for ADV type for NON connectable IND (0x03) 13/276513/1 submit/tizen_6.5/20220620.221804
authorDohyun Pyun <dh79.pyun@samsung.com>
Mon, 20 Jun 2022 01:23:14 +0000 (10:23 +0900)
committerDohyun Pyun <dh79.pyun@samsung.com>
Mon, 20 Jun 2022 01:23:14 +0000 (10:23 +0900)
Change-Id: I833ba33895fa6ac5b1a47b481ec5b061f8bb0cc6
Signed-off-by: Dohyun Pyun <dh79.pyun@samsung.com>
bt-api/bt-adapter-le.c
bt-api/bt-common.c
bt-oal/bluez_hal/src/bt-hal-adapter-le.c
bt-service/services/bt-request-handler.c
include/bluetooth-api.h
include/bt-internal-types.h

index efd8ef6..3a8d305 100644 (file)
@@ -575,6 +575,17 @@ BT_EXPORT_API int bluetooth_check_privilege_advertising_parameter(void)
        return BLUETOOTH_ERROR_NONE;
 }
 
+BT_EXPORT_API int bluetooth_check_privilege_advertising_type(void)
+{
+       if (_bt_check_privilege(BT_CHECK_PRIVILEGE, BT_SET_ADVERTISING_TYPE)
+                    == BLUETOOTH_ERROR_PERMISSION_DEINED) {
+               BT_ERR("Don't have a privilege to use this API");
+               return BLUETOOTH_ERROR_PERMISSION_DEINED;
+       }
+
+       return BLUETOOTH_ERROR_NONE;
+}
+
 BT_EXPORT_API int bluetooth_le_register_callback(bluetooth_cb_func_ptr callback_ptr, void *user_data)
 {
        int ret;
index 1e8345d..33d025b 100644 (file)
@@ -573,6 +573,7 @@ const char *_bt_convert_service_function_to_string(int function)
                {BT_SET_ADVERTISING, "BT_SET_ADVERTISING"},
                {BT_SET_CUSTOM_ADVERTISING, "BT_SET_CUSTOM_ADVERTISING"},
                {BT_SET_ADVERTISING_PARAMETERS, "BT_SET_ADVERTISING_PARAMETERS"},
+               {BT_SET_ADVERTISING_TYPE, "BT_SET_ADVERTISING_TYPE"},
                {BT_GET_ADVERTISING_DATA, "BT_GET_ADVERTISING_DATA"},
                {BT_SET_ADVERTISING_DATA, "BT_SET_ADVERTISING_DATA"},
                {BT_SET_SCAN_PARAMETERS, "BT_SET_SCAN_PARAMETERS"},
index 258963b..3d9c87c 100644 (file)
@@ -681,12 +681,6 @@ int _bt_hal_set_advertising_params(int server_if, int min_interval,
                        max_interval > BT_HAL_ADV_INTERVAL_MAX)
                return BT_STATUS_PARM_INVALID;
 
-
-       if (adv_type  == BT_HAL_ADV_CONNECTABLE_DIRECT_HIGH ||
-                       adv_type == BT_HAL_ADV_CONNECTABLE_DIRECT_LOW ||
-                       adv_type == BT_HAL_ADV_NON_CONNECTABLE)
-               return BT_STATUS_UNSUPPORTED;
-
        if (adv_filter_policy < 0 || adv_filter_policy > 3) {
                ERR("Invalid filter policy, Setting the filter policy to default");
                adv_filter_policy = BT_HAL_ADV_FILTER_POLICY_DEFAULT;
index 1c5f4d6..0565d82 100644 (file)
@@ -5479,6 +5479,7 @@ gboolean __bt_service_check_privilege(int function_name,
        case BT_LE_SET_DATA_LENGTH:
        case BT_LE_OOB_READ_LOCAL_DATA:
        case BT_LE_OOB_ADD_REMOTE_DATA:
+       case BT_SET_ADVERTISING_TYPE:
 
        case BT_GET_GATT_DATA_BATCHING_AVAILABLE_PACKETS:
        case BT_ENABLE_GATT_DATA_BATCHING:
index 6e916ac..87b4ef3 100644 (file)
@@ -6237,6 +6237,24 @@ int bluetooth_set_advertising_data(int handle, const bluetooth_advertising_data_
  */
 int bluetooth_check_privilege_advertising_parameter(void);
 
+
+/**
+ * @fn int bluetooth_check_privilege_advertising_type(void);
+ *
+ * @brief Check the privilege for advertising type
+ *
+ * This function is a synchronous call.
+ *
+ * @return     BLUETOOTH_ERROR_NONE - Success \n
+ *             BLUETOOTH_ERROR_PERMISSION_DEINED - Permission deined \n
+ *
+ * @exception  None
+ *
+ * @remark     None
+ */
+int bluetooth_check_privilege_advertising_type(void);
+
+
 /**
  * @fn int bluetooth_get_scan_response_data(bluetooth_scan_resp_data_t *value, int *length);
  * @brief Get the LE scan response data
index b81a306..82937c6 100644 (file)
@@ -198,6 +198,7 @@ typedef enum {
        BT_SET_ADVERTISING,
        BT_SET_CUSTOM_ADVERTISING,
        BT_SET_ADVERTISING_PARAMETERS,
+       BT_SET_ADVERTISING_TYPE,
        BT_GET_ADVERTISING_DATA,
        BT_SET_ADVERTISING_DATA,
        BT_SET_SCAN_PARAMETERS,