summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2011-12-13 17:09:18 (GMT)
committerKevin Smith <git@kismith.co.uk>2011-12-13 17:09:18 (GMT)
commit169e5fa001c817b170da6f991edfa994cf2d7f45 (patch)
treeba5004e8ded97ddcc9f518fbe8c99db97637f6d2 /Swiften/Network/HTTPConnectProxiedConnection.cpp
parent902e2ee8e61acb18d2819e8a59a28921f85bbd77 (diff)
downloadswift-contrib-169e5fa001c817b170da6f991edfa994cf2d7f45.zip
swift-contrib-169e5fa001c817b170da6f991edfa994cf2d7f45.tar.bz2
Fix use of int randoms for populating long
Diffstat (limited to 'Swiften/Network/HTTPConnectProxiedConnection.cpp')
-rw-r--r--Swiften/Network/HTTPConnectProxiedConnection.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/Swiften/Network/HTTPConnectProxiedConnection.cpp b/Swiften/Network/HTTPConnectProxiedConnection.cpp
index edbdd82..9ef63f0 100644
--- a/Swiften/Network/HTTPConnectProxiedConnection.cpp
+++ b/Swiften/Network/HTTPConnectProxiedConnection.cpp
@@ -2,70 +2,71 @@
* Copyright (c) 2010-2011 Thilo Cestonaro
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
* Copyright (c) 2011 Kevin Smith
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#include <Swiften/Network/HTTPConnectProxiedConnection.h>
#include <iostream>
#include <boost/bind.hpp>
#include <boost/thread.hpp>
#include <boost/lexical_cast.hpp>
#include <Swiften/Base/Algorithm.h>
#include <Swiften/Base/Log.h>
#include <Swiften/Base/String.h>
#include <Swiften/Base/ByteArray.h>
#include <Swiften/Network/HostAddressPort.h>
#include <Swiften/Network/ConnectionFactory.h>
#include <Swiften/StringCodecs/Base64.h>
using namespace Swift;
HTTPConnectProxiedConnection::HTTPConnectProxiedConnection(ConnectionFactory* connectionFactory, HostAddressPort proxy, const SafeString& authID, const SafeString& authPassword) : connectionFactory_(connectionFactory), proxy_(proxy), server_(HostAddressPort(HostAddress("0.0.0.0"), 0)), authID_(authID), authPassword_(authPassword) {
connected_ = false;
}
HTTPConnectProxiedConnection::~HTTPConnectProxiedConnection() {
if (connection_) {
+ connection_->onConnectFinished.disconnect(boost::bind(&HTTPConnectProxiedConnection::handleConnectionConnectFinished, shared_from_this(), _1));
connection_->onDataRead.disconnect(boost::bind(&HTTPConnectProxiedConnection::handleDataRead, shared_from_this(), _1));
connection_->onDisconnected.disconnect(boost::bind(&HTTPConnectProxiedConnection::handleDisconnected, shared_from_this(), _1));
}
if (connected_) {
std::cerr << "Warning: Connection was still established." << std::endl;
}
}
void HTTPConnectProxiedConnection::connect(const HostAddressPort& server) {
server_ = server;
connection_ = connectionFactory_->createConnection();
connection_->onConnectFinished.connect(boost::bind(&HTTPConnectProxiedConnection::handleConnectionConnectFinished, shared_from_this(), _1));
connection_->onDataRead.connect(boost::bind(&HTTPConnectProxiedConnection::handleDataRead, shared_from_this(), _1));
connection_->onDisconnected.connect(boost::bind(&HTTPConnectProxiedConnection::handleDisconnected, shared_from_this(), _1));
connection_->connect(proxy_);
}
void HTTPConnectProxiedConnection::listen() {
assert(false);
connection_->listen();
}
void HTTPConnectProxiedConnection::disconnect() {
connected_ = false;
connection_->disconnect();
}
void HTTPConnectProxiedConnection::handleDisconnected(const boost::optional<Error>& error) {
onDisconnected(error);
}
void HTTPConnectProxiedConnection::write(const SafeByteArray& data) {
connection_->write(data);
}