diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2010-12-19 13:25:51 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2010-12-19 13:25:51 +0200 |
commit | 4efb97bdae52e601dfcf1627e39d1e652457c53c (patch) | |
tree | 5c1b2172817b8405dc8ec2931c562295b830855c /src/sdpd-service.c | |
parent | 2eb9e5052780e8d06a90197068d189cab121efb3 (diff) | |
download | bluez-4efb97bdae52e601dfcf1627e39d1e652457c53c.tar.gz |
Add manager_foreach_adapter()
Ultimately manager_get_adapters shouldn't be needed at all. By
introducing manager_foreach_adapter most instances can be removed.
Diffstat (limited to 'src/sdpd-service.c')
-rw-r--r-- | src/sdpd-service.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/sdpd-service.c b/src/sdpd-service.c index a92c0867a..100739dd4 100644 --- a/src/sdpd-service.c +++ b/src/sdpd-service.c @@ -46,8 +46,8 @@ #include "sdpd.h" #include "log.h" -#include "manager.h" #include "adapter.h" +#include "manager.h" static sdp_record_t *server = NULL; @@ -95,18 +95,15 @@ static void update_db_timestamp(void) static void update_svclass_list(const bdaddr_t *src) { - GSList *adapters = manager_get_adapters(); - - for (; adapters; adapters = adapters->next) { - struct btd_adapter *adapter = adapters->data; - bdaddr_t bdaddr; - - adapter_get_address(adapter, &bdaddr); - - if (bacmp(src, BDADDR_ANY) == 0 || bacmp(src, &bdaddr) == 0) + if (bacmp(src, BDADDR_ANY) != 0) { + struct btd_adapter *adapter = manager_find_adapter(src); + if (adapter) btd_adapter_services_updated(adapter); + return; } + manager_foreach_adapter((adapter_cb) btd_adapter_services_updated, + NULL); } void register_public_browse_group(void) |