diff --git a/src/event.c b/src/event.c
index 136ad77..06f33d3 100644
--- a/src/event.c
+++ b/src/event.c
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 c09350d..503d35f 100644
--- a/src/event.h
+++ b/src/event.h
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,