#include "osi/include/osi.h"
#include "stack_manager.h"
#include "btif_config.h"
+#include "btif_storage.h"
/************************************************************************************
** Constants & Macros
************************************************************************************/
bt_callbacks_t *bt_hal_cbacks = NULL;
+bool restricted_mode = FALSE;
/** Operating System specific callouts for resource management */
bt_os_callouts_t *bt_os_callouts = NULL;
return BT_STATUS_SUCCESS;
}
-static int enable(void) {
- LOG_INFO("%s", __func__);
+static int enable(bool start_restricted) {
+ LOG_INFO(LOG_TAG, "%s: start restricted = %d", __func__, start_restricted);
+
+ restricted_mode = start_restricted;
if (!interface_ready())
return BT_STATUS_NOT_READY;
stack_manager_get_interface()->clean_up_stack_async();
}
+bool is_restricted_mode() {
+ return restricted_mode;
+}
+
static int get_adapter_properties(void)
{
/* sanity check */
static int remove_bond(const bt_bdaddr_t *bd_addr)
{
+ if (is_restricted_mode() && !btif_storage_is_restricted_device(bd_addr))
+ return BT_STATUS_SUCCESS;
+
/* sanity check */
if (interface_ready() == FALSE)
return BT_STATUS_NOT_READY;