From a5302fdae6a4d38f3e55837609ce2d8ec3b0e798 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Thu, 9 Feb 2012 16:57:42 +0200 Subject: [PATCH] event: Add btd_event_device_unpaired callback --- src/event.c | 17 +++++++++++++++++ src/event.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/event.c b/src/event.c index 136ad77af..06f33d347 100644 --- a/src/event.c +++ b/src/event.c @@ -526,6 +526,23 @@ void btd_event_device_unblocked(bdaddr_t *local, bdaddr_t *peer) device_unblock(conn, device, FALSE, TRUE); } +void btd_event_device_unpaired(bdaddr_t *local, bdaddr_t *peer) +{ + struct btd_adapter *adapter; + struct btd_device *device; + DBusConnection *conn = get_dbus_connection(); + + if (!get_adapter_and_device(local, peer, &adapter, &device, FALSE)) + return; + + device_set_temporary(device, TRUE); + + if (device_is_connected(device)) + device_request_disconnect(device, NULL); + else + adapter_remove_device(conn, adapter, device, TRUE); +} + /* Section reserved to device HCI callbacks */ void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer) diff --git a/src/event.h b/src/event.h index c09350d73..503d35fc1 100644 --- a/src/event.h +++ b/src/event.h @@ -40,6 +40,7 @@ int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba); int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey); void btd_event_device_blocked(bdaddr_t *local, bdaddr_t *peer); void btd_event_device_unblocked(bdaddr_t *local, bdaddr_t *peer); +void btd_event_device_unpaired(bdaddr_t *local, bdaddr_t *peer); int btd_event_link_key_notify(bdaddr_t *local, bdaddr_t *peer, uint8_t *key, uint8_t key_type, uint8_t pin_length); int btd_event_ltk_notify(bdaddr_t *local, bdaddr_t *peer, addr_type_t addr_type, -- 2.47.3