summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer/SOCKS5BytestreamServer.cpp')
-rw-r--r--Swiften/FileTransfer/SOCKS5BytestreamServer.cpp67
1 files changed, 33 insertions, 34 deletions
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamServer.cpp b/Swiften/FileTransfer/SOCKS5BytestreamServer.cpp
index da56438..483ea18 100644
--- a/Swiften/FileTransfer/SOCKS5BytestreamServer.cpp
+++ b/Swiften/FileTransfer/SOCKS5BytestreamServer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -9,60 +9,59 @@
#include <boost/bind.hpp>
#include <Swiften/Base/Log.h>
-#include <Swiften/Base/foreach.h>
-#include <Swiften/StringCodecs/Hexify.h>
#include <Swiften/Crypto/CryptoProvider.h>
-#include <Swiften/FileTransfer/SOCKS5BytestreamServerSession.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h>
+#include <Swiften/FileTransfer/SOCKS5BytestreamServerSession.h>
+#include <Swiften/StringCodecs/Hexify.h>
namespace Swift {
SOCKS5BytestreamServer::SOCKS5BytestreamServer(
- boost::shared_ptr<ConnectionServer> connectionServer,
- SOCKS5BytestreamRegistry* registry) :
- connectionServer(connectionServer),
- registry(registry) {
+ std::shared_ptr<ConnectionServer> connectionServer,
+ SOCKS5BytestreamRegistry* registry) :
+ connectionServer(connectionServer),
+ registry(registry) {
}
void SOCKS5BytestreamServer::start() {
- connectionServer->onNewConnection.connect(boost::bind(&SOCKS5BytestreamServer::handleNewConnection, this, _1));
+ connectionServer->onNewConnection.connect(boost::bind(&SOCKS5BytestreamServer::handleNewConnection, this, _1));
}
void SOCKS5BytestreamServer::stop() {
- connectionServer->onNewConnection.disconnect(boost::bind(&SOCKS5BytestreamServer::handleNewConnection, this, _1));
- foreach (boost::shared_ptr<SOCKS5BytestreamServerSession> session, sessions) {
- session->onFinished.disconnect(boost::bind(&SOCKS5BytestreamServer::handleSessionFinished, this, session));
- session->stop();
- }
- sessions.clear();
+ connectionServer->onNewConnection.disconnect(boost::bind(&SOCKS5BytestreamServer::handleNewConnection, this, _1));
+ for (auto&& session : sessions) {
+ session->onFinished.disconnect(boost::bind(&SOCKS5BytestreamServer::handleSessionFinished, this, session));
+ session->stop();
+ }
+ sessions.clear();
}
-void SOCKS5BytestreamServer::handleNewConnection(boost::shared_ptr<Connection> connection) {
- boost::shared_ptr<SOCKS5BytestreamServerSession> session =
- boost::make_shared<SOCKS5BytestreamServerSession>(connection, registry);
- session->onFinished.connect(boost::bind(&SOCKS5BytestreamServer::handleSessionFinished, this, session));
- sessions.push_back(session);
- session->start();
+void SOCKS5BytestreamServer::handleNewConnection(std::shared_ptr<Connection> connection) {
+ std::shared_ptr<SOCKS5BytestreamServerSession> session =
+ std::make_shared<SOCKS5BytestreamServerSession>(connection, registry);
+ session->onFinished.connect(boost::bind(&SOCKS5BytestreamServer::handleSessionFinished, this, session));
+ sessions.push_back(session);
+ session->start();
}
HostAddressPort SOCKS5BytestreamServer::getAddressPort() const {
- return connectionServer->getAddressPort();
+ return connectionServer->getAddressPort();
}
-std::vector< boost::shared_ptr<SOCKS5BytestreamServerSession> > SOCKS5BytestreamServer::getSessions(
- const std::string& streamID) const {
- std::vector< boost::shared_ptr<SOCKS5BytestreamServerSession> > result;
- foreach (boost::shared_ptr<SOCKS5BytestreamServerSession> session, sessions) {
- if (session->getStreamID() == streamID) {
- result.push_back(session);
- }
- }
- return result;
+std::vector< std::shared_ptr<SOCKS5BytestreamServerSession> > SOCKS5BytestreamServer::getSessions(
+ const std::string& streamID) const {
+ std::vector< std::shared_ptr<SOCKS5BytestreamServerSession> > result;
+ for (auto&& session : sessions) {
+ if (session->getStreamID() == streamID) {
+ result.push_back(session);
+ }
+ }
+ return result;
}
-void SOCKS5BytestreamServer::handleSessionFinished(boost::shared_ptr<SOCKS5BytestreamServerSession> session) {
- sessions.erase(std::remove(sessions.begin(), sessions.end(), session), sessions.end());
- session->onFinished.disconnect(boost::bind(&SOCKS5BytestreamServer::handleSessionFinished, this, session));
+void SOCKS5BytestreamServer::handleSessionFinished(std::shared_ptr<SOCKS5BytestreamServerSession> session) {
+ sessions.erase(std::remove(sessions.begin(), sessions.end(), session), sessions.end());
+ session->onFinished.disconnect(boost::bind(&SOCKS5BytestreamServer::handleSessionFinished, this, session));
}
}