From 381b22fc365c27b9cd585f4b78f53ebc698d9f54 Mon Sep 17 00:00:00 2001
From: Kevin Smith <git@kismith.co.uk>
Date: Thu, 21 Aug 2014 09:38:11 +0100
Subject: Clean up compilation errors in Swiften due to boost 1.56

Can no longer implicitly convert boost::optional to bool temporaries. Also fixed assorted uses of cerr where logging was appropriate.

Test-Information:
Swiften compiles against boost 1.56 (link fails for me so far)

Change-Id: Iec058af933a82a987da64291435a475f8b40ef96

diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp
index 441189e..500299a 100644
--- a/Swiften/Client/ClientSession.cpp
+++ b/Swiften/Client/ClientSession.cpp
@@ -44,7 +44,6 @@
 #include <Swiften/Session/SessionStream.h>
 #include <Swiften/TLS/CertificateTrustChecker.h>
 #include <Swiften/TLS/ServerIdentityVerifier.h>
-#include <Swiften/Base/Log.h>
 
 #ifdef SWIFTEN_PLATFORM_WIN32
 #include <Swiften/Base/WindowsRegistry.h>
@@ -171,11 +170,11 @@ void ClientSession::handleElement(boost::shared_ptr<ToplevelElement> element) {
 				stanzaAckRequester_->handleAckReceived(ack->getHandledStanzasCount());
 			}
 			else {
-				std::cerr << "Warning: Got invalid ack from server" << std::endl;
+				SWIFT_LOG(warning) << "Got invalid ack from server";
 			}
 		}
 		else {
-			std::cerr << "Warning: Ignoring ack" << std::endl;
+			SWIFT_LOG(warning) << "Ignoring ack";
 		}
 	}
 	else if (StreamError::ref streamError = boost::dynamic_pointer_cast<StreamError>(element)) {
diff --git a/Swiften/FileTransfer/IBBReceiveSession.cpp b/Swiften/FileTransfer/IBBReceiveSession.cpp
index 3aa6fdc..8cfd95d 100644
--- a/Swiften/FileTransfer/IBBReceiveSession.cpp
+++ b/Swiften/FileTransfer/IBBReceiveSession.cpp
@@ -33,29 +33,29 @@ class IBBReceiveSession::IBBResponder : public SetResponder<IBB> {
 						sendResponse(from, id, IBB::ref());
 						if (receivedSize >= session->size) {
 							if (receivedSize > session->size) {
-								std::cerr << "Warning: Received more data than expected" << std::endl;
+								SWIFT_LOG(warning) << "Received more data than expected";
 							}
 							session->finish(boost::optional<FileTransferError>());
 						}
 					}
 					else {
-						SWIFT_LOG(warning) << "Received data out of order" << std::endl;
+						SWIFT_LOG(warning) << "Received data out of order";
 						sendError(from, id, ErrorPayload::NotAcceptable, ErrorPayload::Cancel);
 						session->finish(FileTransferError(FileTransferError::ClosedError));
 					}
 				}
 				else if (ibb->getAction() == IBB::Open) {
-					SWIFT_LOG(debug) << "IBB open received" << std::endl;
+					SWIFT_LOG(debug) << "IBB open received";
 					sendResponse(from, id, IBB::ref());
 				}
 				else if (ibb->getAction() == IBB::Close) {
-					SWIFT_LOG(debug) << "IBB close received" << std::endl;
+					SWIFT_LOG(debug) << "IBB close received";
 					sendResponse(from, id, IBB::ref());
 					session->finish(FileTransferError(FileTransferError::ClosedError));
 				}
 				return true;
 			}
-			SWIFT_LOG(debug) << "wrong from/sessionID: " << from << " == " << session->from << " / " <<ibb->getStreamID() << " == " << session->id << std::endl;
+			SWIFT_LOG(debug) << "wrong from/sessionID: " << from << " == " << session->from << " / " <<ibb->getStreamID() << " == " << session->id;
 			return false;
 		}
 
@@ -87,19 +87,19 @@ IBBReceiveSession::IBBReceiveSession(
 
 IBBReceiveSession::~IBBReceiveSession() {
 	if (active) {
-		SWIFT_LOG(warning) << "Session still active" << std::endl;
+		SWIFT_LOG(warning) << "Session still active";
 	}
 	delete responder;
 }
 
 void IBBReceiveSession::start() {
-	SWIFT_LOG(debug) << "receive session started" << std::endl;
+	SWIFT_LOG(debug) << "receive session started";
 	active = true;
 	responder->start();
 }
 
 void IBBReceiveSession::stop() {
-	SWIFT_LOG(debug) << "receive session stopped" << std::endl;
+	SWIFT_LOG(debug) << "receive session stopped";
 	responder->stop();
 	if (active) {
 		if (router->isAvailable()) {
diff --git a/Swiften/FileTransfer/IncomingFileTransferManager.cpp b/Swiften/FileTransfer/IncomingFileTransferManager.cpp
index d40c5de..d8c4f89 100644
--- a/Swiften/FileTransfer/IncomingFileTransferManager.cpp
+++ b/Swiften/FileTransfer/IncomingFileTransferManager.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2013 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.
  */
@@ -8,6 +8,7 @@
 
 #include <boost/smart_ptr/make_shared.hpp>
 
+#include <Swiften/Base/Log.h>
 #include <Swiften/Elements/JingleDescription.h>
 #include <Swiften/Elements/JingleFileTransferDescription.h>
 #include <Swiften/Elements/JingleIBBTransportPayload.h>
@@ -49,7 +50,7 @@ bool IncomingFileTransferManager::handleIncomingJingleSession(
 				onIncomingFileTransfer(transfer);
 			} 
 			else {
-				std::cerr << "Received a file-transfer request with no description or more than one file!" << std::endl;
+				SWIFT_LOG(warning) << "Received a file-transfer request with no description or more than one file.";
 				session->sendTerminate(JinglePayload::Reason::FailedApplication);
 			}
 		}
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamServerSession.cpp b/Swiften/FileTransfer/SOCKS5BytestreamServerSession.cpp
index f393c8d..cb34c58 100644
--- a/Swiften/FileTransfer/SOCKS5BytestreamServerSession.cpp
+++ b/Swiften/FileTransfer/SOCKS5BytestreamServerSession.cpp
@@ -94,7 +94,7 @@ void SOCKS5BytestreamServerSession::handleDataAvailable() {
 
 void SOCKS5BytestreamServerSession::handleDisconnected(const boost::optional<Connection::Error>& error) {
 	SWIFT_LOG(debug) << (error ? (error == Connection::ReadError ? "Read Error" : "Write Error") : "No Error") << std::endl;
-	finish(error);
+	finish(error ? true : false);
 }
 
 void SOCKS5BytestreamServerSession::process() {
diff --git a/Swiften/Jingle/JingleResponder.cpp b/Swiften/Jingle/JingleResponder.cpp
index 4c82f51..e963ef6 100644
--- a/Swiften/Jingle/JingleResponder.cpp
+++ b/Swiften/Jingle/JingleResponder.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011 Remko Tronçon
+ * Copyright (c) 2011-2014 Remko Tronçon
  * Licensed under the GNU General Public License v3.
  * See Documentation/Licenses/GPLv3.txt for more information.
  */
@@ -51,7 +51,7 @@ bool JingleResponder::handleSetRequest(const JID& from, const JID& to, const std
 			sendResponse(from, id, boost::shared_ptr<JinglePayload>());
 		}
 		else {
-			std::cerr << "WARN: Didn't find jingle session!" << std::endl;
+			SWIFT_LOG(warning) << "Didn't find jingle session!";
 			// TODO: Add jingle-specific error
 			sendError(from, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel);
 		}
diff --git a/Swiften/Network/BOSHConnection.cpp b/Swiften/Network/BOSHConnection.cpp
index bde689e..28e27d5 100644
--- a/Swiften/Network/BOSHConnection.cpp
+++ b/Swiften/Network/BOSHConnection.cpp
@@ -285,7 +285,7 @@ void BOSHConnection::setSID(const std::string& sid) {
 
 void BOSHConnection::handleDisconnected(const boost::optional<Connection::Error>& error) {
 	cancelConnector();
-	onDisconnected(error);
+	onDisconnected(error ? true : false);
 	sid_ = "";
 	connectionReady_ = false;
 }
diff --git a/Swiften/Network/FakeConnection.cpp b/Swiften/Network/FakeConnection.cpp
index be5555c..a84c92e 100644
--- a/Swiften/Network/FakeConnection.cpp
+++ b/Swiften/Network/FakeConnection.cpp
@@ -1,5 +1,5 @@
 /*
- * 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.
  */
@@ -43,7 +43,7 @@ void FakeConnection::connect(const HostAddressPort& address) {
 			state = DisconnectedWithError;
 		}
 		eventLoop->postEvent(
-				boost::bind(boost::ref(onConnectFinished), error),
+				boost::bind(boost::ref(onConnectFinished), error ? true : false),
 				shared_from_this());
 	}
 }
diff --git a/Swiften/Network/NATPMPInterface.cpp b/Swiften/Network/NATPMPInterface.cpp
index c7a41ff..dcae641 100644
--- a/Swiften/Network/NATPMPInterface.cpp
+++ b/Swiften/Network/NATPMPInterface.cpp
@@ -4,6 +4,12 @@
  * See Documentation/Licenses/BSD-simplified.txt for more information.
  */
 
+/*
+* Copyright (c) 2014 Kevin Smith
+* Licensed under the GNU General Public License v3.
+* See Documentation/Licenses/GPLv3.txt for more information.
+*/
+
 #include <Swiften/Network/NATPMPInterface.h>
 
 #include <boost/smart_ptr/make_shared.hpp>
@@ -32,7 +38,7 @@ NATPMPInterface::~NATPMPInterface() {
 }
 
 bool NATPMPInterface::isAvailable() {
-	return getPublicIP();
+	return getPublicIP() ? true : false;
 }
 
 boost::optional<HostAddress> NATPMPInterface::getPublicIP() {
diff --git a/Swiften/Parser/PayloadParsers/JingleS5BTransportMethodPayloadParser.cpp b/Swiften/Parser/PayloadParsers/JingleS5BTransportMethodPayloadParser.cpp
index 14a80e6..7be4c26 100644
--- a/Swiften/Parser/PayloadParsers/JingleS5BTransportMethodPayloadParser.cpp
+++ b/Swiften/Parser/PayloadParsers/JingleS5BTransportMethodPayloadParser.cpp
@@ -4,6 +4,12 @@
  * See Documentation/Licenses/BSD-simplified.txt for more information.
  */
 
+/*
+* Copyright (c) 2014 Kevin Smith
+* Licensed under the GNU General Public License v3.
+* See Documentation/Licenses/GPLv3.txt for more information.
+*/
+
 #include <boost/lexical_cast.hpp>
 #include <boost/optional.hpp>
 
@@ -25,7 +31,7 @@ namespace Swift {
 			} else if(mode == "udp") {
 				getPayloadInternal()->setMode(JingleS5BTransportPayload::UDPMode);
 			} else {
-				std::cerr << "Unknown S5B mode; falling back to defaul!" << std::endl;
+				SWIFT_LOG(warning) << "Unknown S5B mode; falling back to defaul!";
 				getPayloadInternal()->setMode(JingleS5BTransportPayload::TCPMode);
 			}
 		} else if (level == 1) {
@@ -81,7 +87,7 @@ namespace Swift {
 		} else if (str == "proxy") {
 			return JingleS5BTransportPayload::Candidate::ProxyType;
 		} else {
-			std::cerr << "Unknown candidate type; falling back to default!" << std::endl;
+			SWIFT_LOG(warning) << "Unknown candidate type; falling back to default!";
 			return JingleS5BTransportPayload::Candidate::DirectType;
 		}
 	}
diff --git a/Swiften/Serializer/PayloadSerializers/JingleContentPayloadSerializer.cpp b/Swiften/Serializer/PayloadSerializers/JingleContentPayloadSerializer.cpp
index 0e21812..6ba264a 100644
--- a/Swiften/Serializer/PayloadSerializers/JingleContentPayloadSerializer.cpp
+++ b/Swiften/Serializer/PayloadSerializers/JingleContentPayloadSerializer.cpp
@@ -4,12 +4,19 @@
  * See Documentation/Licenses/BSD-simplified.txt for more information.
  */
 
+/*
+* Copyright (c) 2014 Kevin Smith
+* Licensed under the GNU General Public License v3.
+* See Documentation/Licenses/GPLv3.txt for more information.
+*/
+
 #include <Swiften/Serializer/PayloadSerializers/JingleContentPayloadSerializer.h>
 
 #include <boost/shared_ptr.hpp>
 #include <boost/smart_ptr/make_shared.hpp>
 #include <boost/smart_ptr/intrusive_ptr.hpp>
 
+#include <Swiften/Base/Log.h>
 #include <Swiften/Base/foreach.h>
 #include <Swiften/Serializer/XML/XMLNode.h>
 #include <Swiften/Serializer/XML/XMLElement.h>
@@ -69,7 +76,7 @@ std::string JingleContentPayloadSerializer::creatorToString(JingleContentPayload
 		case JingleContentPayload::ResponderCreator:
 			return "responder";
 		case JingleContentPayload::UnknownCreator:
-			std::cerr << "Serializing unknown creator value." << std::endl;
+			SWIFT_LOG(error) << "Serializing unknown creator value.";
 			return "ERROR ERROR ERROR";
 	}
 	assert(false);
-- 
cgit v0.10.2-6-g49f6