Add a function that can be used to know if any of the known devices have the `CablePaired` property set. --- src/adapter.c | 17 +++++++++++++++++ src/adapter.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/adapter.c b/src/adapter.c index c21b38095..fd425e6d2 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -412,6 +412,23 @@ uint16_t btd_adapter_get_index(struct btd_adapter *adapter) return adapter->dev_id; } +bool btd_adapter_has_cable_pairing_devices(struct btd_adapter *adapter) +{ + GSList *l; + + if (!adapter) + return false; + + for (l = adapter->devices; l; l = l->next) { + struct btd_device *device = l->data; + + if (device_is_cable_pairing(device)) + return true; + } + + return false; +} + static gboolean process_auth_queue(gpointer user_data); static void dev_class_changed_callback(uint16_t index, uint16_t length, diff --git a/src/adapter.h b/src/adapter.h index 8dfbe762e..6b2bc28f6 100644 --- a/src/adapter.h +++ b/src/adapter.h @@ -30,6 +30,7 @@ struct queue; struct btd_adapter *btd_adapter_get_default(void); bool btd_adapter_is_default(struct btd_adapter *adapter); uint16_t btd_adapter_get_index(struct btd_adapter *adapter); +bool btd_adapter_has_cable_pairing_devices(struct btd_adapter *adapter); typedef void (*adapter_cb) (struct btd_adapter *adapter, gpointer user_data); -- 2.49.0