diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-07-23 06:54:10 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-07-23 07:21:45 (GMT) |
commit | 1c1491cbbe9fca509ddc292dbeaedbba7b6a2b14 (patch) | |
tree | 6831422eb07d4a6f35ad09f69a5b9f8df7ae103b /Swiften/LinkLocal/LinkLocalServiceBrowser.cpp | |
parent | 0a7336577f9609c70bb4d846c668e7853746cb52 (diff) | |
download | swift-contrib-1c1491cbbe9fca509ddc292dbeaedbba7b6a2b14.zip swift-contrib-1c1491cbbe9fca509ddc292dbeaedbba7b6a2b14.tar.bz2 |
Added more LinkLocalServiceBrowser tests.
Diffstat (limited to 'Swiften/LinkLocal/LinkLocalServiceBrowser.cpp')
-rw-r--r-- | Swiften/LinkLocal/LinkLocalServiceBrowser.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp b/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp index 63cf075..fbc3022 100644 --- a/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp +++ b/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp @@ -15,13 +15,22 @@ LinkLocalServiceBrowser::LinkLocalServiceBrowser(boost::shared_ptr<DNSSDService> boost::bind(&LinkLocalServiceBrowser::handleServiceResolved, this, _1, _2)); } +std::vector<LinkLocalService> LinkLocalServiceBrowser::getServices() const { + std::vector<LinkLocalService> result; + for (ServiceMap::const_iterator i = services.begin(); i != services.end(); ++i) { + result.push_back(LinkLocalService(i->first, i->second)); + } + return result; +} + void LinkLocalServiceBrowser::handleServiceAdded(const LinkLocalServiceID& service) { dnsSDService->startResolvingService(service); } void LinkLocalServiceBrowser::handleServiceRemoved(const LinkLocalServiceID& service) { - /*dnsSDService->stopResolvingService(service); - services.erase(service);*/ + dnsSDService->stopResolvingService(service); + services.erase(service); + onServiceRemoved(service); } void LinkLocalServiceBrowser::handleServiceResolved(const LinkLocalServiceID& service, const DNSSDService::ResolveResult& result) { @@ -30,6 +39,7 @@ void LinkLocalServiceBrowser::handleServiceResolved(const LinkLocalServiceID& se onServiceAdded(service); } else { + r.first->second = result; onServiceChanged(service); } } |