Bluetooth: Export is_bonded through hci_core.c
There will be other uses, so rename this to bt_addr_le_is_bonded and export it through hci_core.h. Change-Id: Ia033a215255f2ec2e513c785dd1b9862faaf5ac8 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
777a76297d
commit
5c45a3bce1
3 changed files with 22 additions and 18 deletions
|
@ -306,18 +306,6 @@ static void gatt_ccc_changed(struct _bt_gatt_ccc *ccc)
|
|||
}
|
||||
}
|
||||
|
||||
static bool is_bonded(const bt_addr_le_t *addr)
|
||||
{
|
||||
#if defined(CONFIG_BLUETOOTH_SMP)
|
||||
struct bt_keys *keys = bt_keys_find_addr(addr);
|
||||
|
||||
/* if there are any keys stored then device is bonded */
|
||||
return keys && keys->keys;
|
||||
#else
|
||||
return false;
|
||||
#endif /* defined(CONFIG_BLUETOOTH_SMP) */
|
||||
}
|
||||
|
||||
ssize_t bt_gatt_attr_write_ccc(struct bt_conn *conn,
|
||||
const struct bt_gatt_attr *attr, const void *buf,
|
||||
uint16_t len, uint16_t offset)
|
||||
|
@ -344,12 +332,14 @@ ssize_t bt_gatt_attr_write_ccc(struct bt_conn *conn,
|
|||
if (i == ccc->cfg_len) {
|
||||
for (i = 0; i < ccc->cfg_len; i++) {
|
||||
/* Check for unused configuration */
|
||||
if (!ccc->cfg[i].valid) {
|
||||
bt_addr_le_copy(&ccc->cfg[i].peer, &conn->le.dst);
|
||||
/* Only set valid if bonded */
|
||||
ccc->cfg[i].valid = is_bonded(&conn->le.dst);
|
||||
break;
|
||||
if (ccc->cfg[i].valid) {
|
||||
continue;
|
||||
}
|
||||
|
||||
bt_addr_le_copy(&ccc->cfg[i].peer, &conn->le.dst);
|
||||
/* Only set valid if bonded */
|
||||
ccc->cfg[i].valid = bt_addr_le_is_bonded(&conn->le.dst);
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == ccc->cfg_len) {
|
||||
|
@ -1719,7 +1709,7 @@ void bt_gatt_disconnected(struct bt_conn *conn)
|
|||
|
||||
#if defined(CONFIG_BLUETOOTH_GATT_CLIENT)
|
||||
/* If bonded don't remove subscriptions */
|
||||
if (is_bonded(&conn->le.dst)) {
|
||||
if (bt_addr_le_is_bonded(&conn->le.dst)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -3156,6 +3156,18 @@ int bt_enable(bt_ready_cb_t cb)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool bt_addr_le_is_bonded(const bt_addr_le_t *addr)
|
||||
{
|
||||
#if defined(CONFIG_BLUETOOTH_SMP)
|
||||
struct bt_keys *keys = bt_keys_find_addr(addr);
|
||||
|
||||
/* if there are any keys stored then device is bonded */
|
||||
return keys && keys->keys;
|
||||
#else
|
||||
return false;
|
||||
#endif /* defined(CONFIG_BLUETOOTH_SMP) */
|
||||
}
|
||||
|
||||
static bool valid_adv_param(const struct bt_le_adv_param *param)
|
||||
{
|
||||
switch (param->type) {
|
||||
|
|
|
@ -176,3 +176,5 @@ const char *bt_addr_le_str(const bt_addr_le_t *addr);
|
|||
int bt_rand(void *buf, size_t len);
|
||||
|
||||
int bt_le_scan_update(bool fast_scan);
|
||||
|
||||
bool bt_addr_le_is_bonded(const bt_addr_le_t *addr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue