summaryrefslogtreecommitdiff
path: root/src/sdpd-service.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2010-12-19 13:25:51 +0200
committerJohan Hedberg <johan.hedberg@nokia.com>2010-12-19 13:25:51 +0200
commit4efb97bdae52e601dfcf1627e39d1e652457c53c (patch)
tree5c1b2172817b8405dc8ec2931c562295b830855c /src/sdpd-service.c
parent2eb9e5052780e8d06a90197068d189cab121efb3 (diff)
downloadbluez-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.c17
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)