diff options
| author | Kevin Smith <git@kismith.co.uk> | 2014-02-25 17:59:45 (GMT) |
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2014-02-25 18:00:58 (GMT) |
| commit | 0e17d9322793e8baf7ef6904dc96f388e79fd82e (patch) | |
| tree | 8f1fd35e7ca68c0498f14051b06cdf4003f7a8ca /Swiften/LinkLocal/LinkLocalServiceBrowser.cpp | |
| parent | da5e31ec60d089c3ffbafc3246608c95ba44df06 (diff) | |
| download | swift-contrib-0e17d9322793e8baf7ef6904dc96f388e79fd82e.zip swift-contrib-0e17d9322793e8baf7ef6904dc96f388e79fd82e.tar.bz2 | |
Build with new Boostish stuff.
Can no longer use a shared_ptr as a bool.
Change-Id: Ic92ede082e8f923830af943bb522c64e4f5ff453
Diffstat (limited to 'Swiften/LinkLocal/LinkLocalServiceBrowser.cpp')
| -rw-r--r-- | Swiften/LinkLocal/LinkLocalServiceBrowser.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp b/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp index 4b68a33..ae97933 100644 --- a/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp +++ b/Swiften/LinkLocal/LinkLocalServiceBrowser.cpp @@ -1,98 +1,98 @@ /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2014 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include <boost/bind.hpp> #include <iostream> #include <Swiften/LinkLocal/LinkLocalServiceBrowser.h> #include <Swiften/LinkLocal/DNSSD/DNSSDBrowseQuery.h> #include <Swiften/Network/HostAddress.h> namespace Swift { LinkLocalServiceBrowser::LinkLocalServiceBrowser(boost::shared_ptr<DNSSDQuerier> querier) : querier(querier), haveError(false) { } LinkLocalServiceBrowser::~LinkLocalServiceBrowser() { if (isRunning()) { std::cerr << "WARNING: LinkLocalServiceBrowser still running on destruction" << std::endl; } } void LinkLocalServiceBrowser::start() { assert(!isRunning()); haveError = false; browseQuery = querier->createBrowseQuery(); browseQuery->onServiceAdded.connect( boost::bind(&LinkLocalServiceBrowser::handleServiceAdded, this, _1)); browseQuery->onServiceRemoved.connect( boost::bind(&LinkLocalServiceBrowser::handleServiceRemoved, this, _1)); browseQuery->onError.connect( boost::bind(&LinkLocalServiceBrowser::handleBrowseError, this)); browseQuery->startBrowsing(); } void LinkLocalServiceBrowser::stop() { assert(isRunning()); if (isRegistered()) { unregisterService(); } for (ResolveQueryMap::const_iterator i = resolveQueries.begin(); i != resolveQueries.end(); ++i) { i->second->stop(); } resolveQueries.clear(); services.clear(); browseQuery->stopBrowsing(); browseQuery.reset(); onStopped(haveError); } bool LinkLocalServiceBrowser::isRunning() const { - return browseQuery; + return !!browseQuery; } bool LinkLocalServiceBrowser::hasError() const { return haveError; } bool LinkLocalServiceBrowser::isRegistered() const { - return registerQuery; + return !!registerQuery; } void LinkLocalServiceBrowser::registerService(const std::string& name, int port, const LinkLocalServiceInfo& info) { assert(!registerQuery); registerQuery = querier->createRegisterQuery(name, port, info.toTXTRecord()); registerQuery->onRegisterFinished.connect( boost::bind(&LinkLocalServiceBrowser::handleRegisterFinished, this, _1)); registerQuery->registerService(); } void LinkLocalServiceBrowser::updateService(const LinkLocalServiceInfo& info) { assert(registerQuery); registerQuery->updateServiceInfo(info.toTXTRecord()); } void LinkLocalServiceBrowser::unregisterService() { assert(registerQuery); registerQuery->unregisterService(); registerQuery.reset(); selfService.reset(); } 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 DNSSDServiceID& service) { if (selfService && service == *selfService) { return; } |
Swift