diff options
author | Kevin Smith <git@kismith.co.uk> | 2014-09-16 13:23:24 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2014-09-16 13:23:37 (GMT) |
commit | dc48cc3f34e3e229172202717520e77233c37ed7 (patch) | |
tree | dd4b6562a806aa9b11f800e91ed93546fce23f35 | |
parent | 381b22fc365c27b9cd585f4b78f53ebc698d9f54 (diff) | |
download | swift-contrib-dc48cc3f34e3e229172202717520e77233c37ed7.zip swift-contrib-dc48cc3f34e3e229172202717520e77233c37ed7.tar.bz2 |
Fix boost::optional abuses that stop compilation with latest boost
Test-Information:
Compiles and unit tests pass with boost 1.56
Change-Id: I6525399babc5f6c88fb499af80e9f07c1c4d0cdb
-rw-r--r-- | Swift/QtUI/UserSearch/QtUserSearchWindow.cpp | 2 | ||||
-rw-r--r-- | Swiften/Avatars/CombinedAvatarProvider.cpp | 4 | ||||
-rw-r--r-- | Swiften/Examples/NetworkTool/main.cpp | 4 | ||||
-rw-r--r-- | Swiften/QA/ClientTest/ClientTest.cpp | 2 | ||||
-rw-r--r-- | Swiften/Serializer/StreamResumeSerializer.cpp | 2 | ||||
-rw-r--r-- | Swiften/Serializer/StreamResumedSerializer.cpp | 2 |
6 files changed, 8 insertions, 8 deletions
diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp index e309265..17214e4 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp @@ -276,71 +276,71 @@ void QtUserSearchWindow::addSearchedJIDToList(const JID& jid) { handleJIDsAdded(jids); firstMultiJIDPage_->jid_->clear(); } void QtUserSearchWindow::show() { clear(); QWidget::show(); } void QtUserSearchWindow::addSavedServices(const std::vector<JID>& services) { if (type_ == AddContact) { firstPage_->service_->clear(); foreach (JID jid, services) { firstPage_->service_->addItem(P2QSTRING(jid.toString())); } firstPage_->service_->clearEditText(); } else { firstMultiJIDPage_->service_->clear(); foreach (JID jid, services) { firstMultiJIDPage_->service_->addItem(P2QSTRING(jid.toString())); } firstMultiJIDPage_->service_->clearEditText(); } } void QtUserSearchWindow::setSearchFields(boost::shared_ptr<SearchPayload> fields) { fieldsPage_->fetchingThrobber_->hide(); fieldsPage_->fetchingThrobber_->movie()->stop(); fieldsPage_->fetchingLabel_->hide(); fieldsPage_->instructionsLabel_->setText(fields->getInstructions() ? P2QSTRING(fields->getInstructions().get()) : "Enter search terms"); if (fields->getForm()) { fieldsPage_->setFormWidget(new QtFormWidget(fields->getForm(), fieldsPage_)); } else { fieldsPage_->setFormWidget(NULL); - bool enabled[8] = {fields->getNick(), fields->getNick(), fields->getFirst(), fields->getFirst(), fields->getLast(), fields->getLast(), fields->getEMail(), fields->getEMail()}; + bool enabled[8] = {!!fields->getNick(), !!fields->getNick(), !!fields->getFirst(), !!fields->getFirst(), !!fields->getLast(), !!fields->getLast(), !!fields->getEMail(), !!fields->getEMail()}; QWidget* legacySearchWidgets[8] = {fieldsPage_->nickInputLabel_, fieldsPage_->nickInput_, fieldsPage_->firstInputLabel_, fieldsPage_->firstInput_, fieldsPage_->lastInputLabel_, fieldsPage_->lastInput_, fieldsPage_->emailInputLabel_, fieldsPage_->emailInput_}; for (int i = 0; i < 8; i++) { legacySearchWidgets[i]->setVisible(enabled[i]); legacySearchWidgets[i]->setEnabled(enabled[i]); } } fieldsPage_->emitCompletenessCheck(); } void QtUserSearchWindow::setNameSuggestions(const std::vector<std::string>& suggestions) { if (detailsPage_) { detailsPage_->setNameSuggestions(suggestions); } } void QtUserSearchWindow::prepopulateJIDAndName(const JID& jid, const std::string& name) { firstPage_->jid_->setText(P2QSTRING(jid.toBare().toString())); detailsPage_->setJID(jid); lastPage_ = 1; restart(); next(); detailsPage_->setName(name); } void QtUserSearchWindow::setContactSuggestions(const std::vector<Contact::ref>& suggestions) { if (type_ == AddContact) { firstPage_->jid_->setSuggestions(suggestions); } else { firstMultiJIDPage_->jid_->setSuggestions(suggestions); } } void QtUserSearchWindow::setJIDs(const std::vector<JID> &jids) { foreach(JID jid, jids) { addSearchedJIDToList(jid); diff --git a/Swiften/Avatars/CombinedAvatarProvider.cpp b/Swiften/Avatars/CombinedAvatarProvider.cpp index 1bd74dd..30f9f52 100644 --- a/Swiften/Avatars/CombinedAvatarProvider.cpp +++ b/Swiften/Avatars/CombinedAvatarProvider.cpp @@ -6,56 +6,56 @@ #include <Swiften/Avatars/CombinedAvatarProvider.h> #include <algorithm> #include <boost/bind.hpp> #include <Swiften/Base/Log.h> namespace Swift { boost::optional<std::string> CombinedAvatarProvider::getAvatarHash(const JID& jid) const { return getCombinedAvatarAndCache(jid); } void CombinedAvatarProvider::addProvider(AvatarProvider* provider) { provider->onAvatarChanged.connect(boost::bind(&CombinedAvatarProvider::handleAvatarChanged, this, _1)); providers.push_back(provider); } void CombinedAvatarProvider::removeProvider(AvatarProvider* provider) { std::vector<AvatarProvider*>::iterator i = std::remove(providers.begin(), providers.end(), provider); for(std::vector<AvatarProvider*>::iterator j = i; j < providers.end(); ++j) { provider->onAvatarChanged.disconnect(boost::bind(&CombinedAvatarProvider::handleAvatarChanged, this, _1)); } providers.erase(i, providers.end()); } void CombinedAvatarProvider::handleAvatarChanged(const JID& jid) { std::string oldHash; std::map<JID, std::string>::const_iterator i = avatars.find(jid); if (i != avatars.end()) { oldHash = i->second; } boost::optional<std::string> newHash = getCombinedAvatarAndCache(jid); if (newHash != oldHash) { - SWIFT_LOG(debug) << "Avatar changed: " << jid << ": " << oldHash << " -> " << newHash << std::endl; + SWIFT_LOG(debug) << "Avatar changed: " << jid << ": " << oldHash << " -> " << (newHash ? newHash.get() : "NULL") << std::endl; onAvatarChanged(jid); } } boost::optional<std::string> CombinedAvatarProvider::getCombinedAvatarAndCache(const JID& jid) const { SWIFT_LOG(debug) << "JID: " << jid << std::endl; boost::optional<std::string> hash; for (size_t i = 0; i < providers.size() && !hash; ++i) { hash = providers[i]->getAvatarHash(jid); - SWIFT_LOG(debug) << "Provider " << providers[i] << ": " << hash << std::endl; + SWIFT_LOG(debug) << "Provider " << providers[i] << ": " << (hash ? hash.get() : "NULL") << std::endl; } if (hash) { avatars[jid] = *hash; } else { avatars[jid] = ""; } return hash; } } diff --git a/Swiften/Examples/NetworkTool/main.cpp b/Swiften/Examples/NetworkTool/main.cpp index 10a0aa6..77ba3f6 100644 --- a/Swiften/Examples/NetworkTool/main.cpp +++ b/Swiften/Examples/NetworkTool/main.cpp @@ -6,72 +6,72 @@ #include <iostream> #include <boost/lexical_cast.hpp> #include <Swiften/EventLoop/SimpleEventLoop.h> #include <Swiften/Network/PlatformNATTraversalWorker.h> #include <Swiften/Network/NATTraversalGetPublicIPRequest.h> #include <Swiften/Network/NATTraversalForwardPortRequest.h> #include <Swiften/Network/NATTraversalRemovePortForwardingRequest.h> #include <Swiften/Network/PlatformNetworkEnvironment.h> using namespace Swift; static SimpleEventLoop eventLoop; static void handleGetPublicIPRequestResponse(const boost::optional<HostAddress>& result) { if (result) { std::cerr << "Result: " << result->toString() << std::endl;; } else { std::cerr << "No result" << std::endl; } eventLoop.stop(); } static void handleGetForwardPortRequestResponse(const boost::optional<NATPortMapping>& result) { if (result) { std::cerr << "Result: " << result->getPublicPort() << " -> " << result->getLocalPort() << std::endl;; } else { std::cerr << "No result" << std::endl; } eventLoop.stop(); } -static void handleRemovePortForwardingRequestResponse(bool result) { - if (result) { +static void handleRemovePortForwardingRequestResponse(const boost::optional<bool> result) { + if (result && result.get()) { std::cerr << "Result: OK" << std::endl; } else { std::cerr << "Result: ERROR" << std::endl; } eventLoop.stop(); } int main(int argc, char* argv[]) { if (argc < 2) { std::cerr << "Invalid parameters" << std::endl; return -1; } PlatformNATTraversalWorker natTraverser(&eventLoop); if (std::string(argv[1]) == "get-public-ip") { boost::shared_ptr<NATTraversalGetPublicIPRequest> query = natTraverser.createGetPublicIPRequest(); query->onResult.connect(boost::bind(&handleGetPublicIPRequestResponse, _1)); query->start(); eventLoop.run(); } else if (std::string(argv[1]) == "add-port-forward") { if (argc < 4) { std::cerr << "Invalid parameters" << std::endl; } boost::shared_ptr<NATTraversalForwardPortRequest> query = natTraverser.createForwardPortRequest(boost::lexical_cast<int>(argv[2]), boost::lexical_cast<int>(argv[3])); query->onResult.connect(boost::bind(&handleGetForwardPortRequestResponse, _1)); query->start(); eventLoop.run(); } else if (std::string(argv[1]) == "remove-port-forward") { if (argc < 4) { std::cerr << "Invalid parameters" << std::endl; } boost::shared_ptr<NATTraversalRemovePortForwardingRequest> query = natTraverser.createRemovePortForwardingRequest(boost::lexical_cast<int>(argv[2]), boost::lexical_cast<int>(argv[3])); diff --git a/Swiften/QA/ClientTest/ClientTest.cpp b/Swiften/QA/ClientTest/ClientTest.cpp index e88e5ac..38f70db 100644 --- a/Swiften/QA/ClientTest/ClientTest.cpp +++ b/Swiften/QA/ClientTest/ClientTest.cpp @@ -1,69 +1,69 @@ /* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include <boost/bind.hpp> #include <boost/thread.hpp> #include <iostream> #include <Swiften/Client/Client.h> #include <Swiften/Network/TimerFactory.h> #include <Swiften/Network/BoostNetworkFactories.h> #include <Swiften/EventLoop/EventLoop.h> #include <Swiften/EventLoop/SimpleEventLoop.h> #include <Swiften/Roster/GetRosterRequest.h> #include <Swiften/Client/ClientXMLTracer.h> using namespace Swift; static SimpleEventLoop eventLoop; static BoostNetworkFactories networkFactories(&eventLoop); static Client* client = 0; static bool rosterReceived = false; enum TestStage { FirstConnect, Reconnect }; static TestStage stage; static ClientOptions options; static void handleDisconnected(boost::optional<ClientError> e) { - std::cout << "Disconnected: " << e << std::endl; + std::cout << "Disconnected: " << (e ? e.get().getType() : ClientError::UnknownError) << std::endl; if (stage == FirstConnect) { stage = Reconnect; client->connect(options); } else { eventLoop.stop(); } } static void handleRosterReceived(boost::shared_ptr<Payload>) { rosterReceived = true; std::cout << "Disconnecting" << std::endl; client->disconnect(); } static void handleConnected() { std::cout << "Connected" << std::endl; rosterReceived = false; GetRosterRequest::ref rosterRequest = GetRosterRequest::create(client->getIQRouter()); rosterRequest->onResponse.connect(boost::bind(&handleRosterReceived, _1)); rosterRequest->send(); } int main(int, char**) { char* jid = getenv("SWIFT_CLIENTTEST_JID"); if (!jid) { std::cerr << "Please set the SWIFT_CLIENTTEST_JID environment variable" << std::endl; return -1; } char* pass = getenv("SWIFT_CLIENTTEST_PASS"); if (!pass) { std::cerr << "Please set the SWIFT_CLIENTTEST_PASS environment variable" << std::endl; return -1; } diff --git a/Swiften/Serializer/StreamResumeSerializer.cpp b/Swiften/Serializer/StreamResumeSerializer.cpp index 902ab21..229b826 100644 --- a/Swiften/Serializer/StreamResumeSerializer.cpp +++ b/Swiften/Serializer/StreamResumeSerializer.cpp @@ -1,28 +1,28 @@ /* * Copyright (c) 2011-2014 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include <Swiften/Serializer/StreamResumeSerializer.h> #include <boost/shared_ptr.hpp> #include <boost/lexical_cast.hpp> #include <Swiften/Elements/StreamResume.h> #include <Swiften/Serializer/XML/XMLElement.h> using namespace Swift; StreamResumeSerializer::StreamResumeSerializer() : GenericElementSerializer<StreamResume>() { } SafeByteArray StreamResumeSerializer::serialize(boost::shared_ptr<ToplevelElement> el) const { boost::shared_ptr<StreamResume> e(boost::dynamic_pointer_cast<StreamResume>(el)); XMLElement element("resume", "urn:xmpp:sm:2"); element.setAttribute("previd", e->getResumeID()); if (e->getHandledStanzasCount()) { - element.setAttribute("h", boost::lexical_cast<std::string>(e->getHandledStanzasCount())); + element.setAttribute("h", boost::lexical_cast<std::string>(e->getHandledStanzasCount().get())); } return createSafeByteArray(element.serialize()); } diff --git a/Swiften/Serializer/StreamResumedSerializer.cpp b/Swiften/Serializer/StreamResumedSerializer.cpp index 6477af9..48dbe8f 100644 --- a/Swiften/Serializer/StreamResumedSerializer.cpp +++ b/Swiften/Serializer/StreamResumedSerializer.cpp @@ -1,28 +1,28 @@ /* * Copyright (c) 2011-2014 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #include <Swiften/Serializer/StreamResumedSerializer.h> #include <boost/shared_ptr.hpp> #include <boost/lexical_cast.hpp> #include <Swiften/Elements/StreamResumed.h> #include <Swiften/Serializer/XML/XMLElement.h> using namespace Swift; StreamResumedSerializer::StreamResumedSerializer() : GenericElementSerializer<StreamResumed>() { } SafeByteArray StreamResumedSerializer::serialize(boost::shared_ptr<ToplevelElement> el) const { boost::shared_ptr<StreamResumed> e(boost::dynamic_pointer_cast<StreamResumed>(el)); XMLElement element("resumed", "urn:xmpp:sm:2"); element.setAttribute("previd", e->getResumeID()); if (e->getHandledStanzasCount()) { - element.setAttribute("h", boost::lexical_cast<std::string>(e->getHandledStanzasCount())); + element.setAttribute("h", boost::lexical_cast<std::string>(e->getHandledStanzasCount().get())); } return createSafeByteArray(element.serialize()); } |