From 1230aac3ab1dd8345bb547b7e1247d91f3724741 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 4 Dec 2012 10:52:47 +0200 Subject: [PATCH] core: Remove event.c as a middle-man for passkey notify based pairing --- src/event.c | 12 ------------ src/event.h | 2 -- src/mgmt.c | 11 ++++++++--- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/src/event.c b/src/event.c index f31fd05e7..a54bee833 100644 --- a/src/event.c +++ b/src/event.c @@ -83,18 +83,6 @@ static gboolean get_adapter_and_device(const bdaddr_t *src, bdaddr_t *dst, return TRUE; } -int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey, - uint8_t entered) -{ - struct btd_adapter *adapter; - struct btd_device *device; - - if (!get_adapter_and_device(sba, dba, &adapter, &device, TRUE)) - return -ENODEV; - - return device_notify_passkey(device, passkey, entered); -} - static void update_lastused(bdaddr_t *sba, bdaddr_t *dba, uint8_t dba_type) { time_t t; diff --git a/src/event.h b/src/event.h index bbda735e1..89e94c609 100644 --- a/src/event.h +++ b/src/event.h @@ -34,8 +34,6 @@ void btd_event_conn_complete(bdaddr_t *local, bdaddr_t *peer, void btd_event_conn_failed(bdaddr_t *local, bdaddr_t *peer, uint8_t status); void btd_event_disconn_complete(bdaddr_t *local, bdaddr_t *peer); void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer); -int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey, - uint8_t entered); 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); diff --git a/src/mgmt.c b/src/mgmt.c index 864b2bf99..2ec78c0c3 100644 --- a/src/mgmt.c +++ b/src/mgmt.c @@ -814,6 +814,8 @@ static void mgmt_passkey_notify(int sk, uint16_t index, void *buf, size_t len) { struct mgmt_ev_passkey_notify *ev = buf; struct controller_info *info; + struct btd_adapter *adapter; + struct btd_device *device; uint32_t passkey; char addr[18]; int err; @@ -834,14 +836,17 @@ static void mgmt_passkey_notify(int sk, uint16_t index, void *buf, size_t len) info = &controllers[index]; + if (!get_adapter_and_device(&info->bdaddr, &ev->addr.bdaddr, + &adapter, &device, true)) + return; + passkey = bt_get_le32(&ev->passkey); DBG("passkey %06u entered %u", passkey, ev->entered); - err = btd_event_user_notify(&info->bdaddr, &ev->addr.bdaddr, - passkey, ev->entered); + err = device_notify_passkey(device, passkey, ev->entered); if (err < 0) - error("btd_event_user_notify: %s", strerror(-err)); + error("device_notify_passkey: %s", strerror(-err)); } struct confirm_data { -- 2.47.3