summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-03-01 20:56:38 (GMT)
committerTobias Markmann <tm@ayena.de>2015-03-02 15:35:01 (GMT)
commited3cd92d0ed1109dfcfd8f81bb43c91a6f73201e (patch)
tree4b094e56e07c739980cfe604cd217b1e8b9b772a /Swiften/FileTransfer/DefaultFileTransferTransporter.cpp
parentdb98c3283af01ccaf904b8e65879c026c4b181ec (diff)
downloadswift-ed3cd92d0ed1109dfcfd8f81bb43c91a6f73201e.zip
swift-ed3cd92d0ed1109dfcfd8f81bb43c91a6f73201e.tar.bz2
Move *TransportSession to their own files
Test-Information: Builds. Change-Id: I1d8a942a2063c6bc0f7322161a33c0413a6899a3
Diffstat (limited to 'Swiften/FileTransfer/DefaultFileTransferTransporter.cpp')
-rw-r--r--Swiften/FileTransfer/DefaultFileTransferTransporter.cpp105
1 files changed, 4 insertions, 101 deletions
diff --git a/Swiften/FileTransfer/DefaultFileTransferTransporter.cpp b/Swiften/FileTransfer/DefaultFileTransferTransporter.cpp
index 22b4a84..568fa7c 100644
--- a/Swiften/FileTransfer/DefaultFileTransferTransporter.cpp
+++ b/Swiften/FileTransfer/DefaultFileTransferTransporter.cpp
@@ -12,11 +12,15 @@
#include <Swiften/Base/Log.h>
#include <Swiften/Base/foreach.h>
#include <Swiften/Crypto/CryptoProvider.h>
+#include <Swiften/FileTransfer/FailingTransportSession.h>
#include <Swiften/FileTransfer/FileTransferOptions.h>
#include <Swiften/FileTransfer/IBBReceiveSession.h>
+#include <Swiften/FileTransfer/IBBReceiveTransportSession.h>
#include <Swiften/FileTransfer/IBBSendSession.h>
+#include <Swiften/FileTransfer/IBBSendTransportSession.h>
#include <Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h>
#include <Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h>
+#include <Swiften/FileTransfer/S5BTransportSession.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamProxiesManager.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamServer.h>
@@ -28,107 +32,6 @@
using namespace Swift;
-namespace {
- class IBBSendTransportSession : public TransportSession {
- public:
- IBBSendTransportSession(boost::shared_ptr<IBBSendSession> session) : session(session) {
- finishedConnection = session->onFinished.connect(boost::bind(boost::ref(onFinished), _1));
- bytesSentConnection = session->onBytesSent.connect(boost::bind(boost::ref(onBytesSent), _1));
- }
-
- virtual void start() SWIFTEN_OVERRIDE {
- session->start();
- }
-
- virtual void stop() SWIFTEN_OVERRIDE {
- session->stop();
- }
-
- private:
- boost::shared_ptr<IBBSendSession> session;
- boost::bsignals::scoped_connection finishedConnection;
- boost::bsignals::scoped_connection bytesSentConnection;
- };
-
- class IBBReceiveTransportSession : public TransportSession {
- public:
- IBBReceiveTransportSession(boost::shared_ptr<IBBReceiveSession> session) : session(session) {
- finishedConnection = session->onFinished.connect(boost::bind(boost::ref(onFinished), _1));
- }
-
- virtual void start() SWIFTEN_OVERRIDE {
- session->start();
- }
-
- virtual void stop() SWIFTEN_OVERRIDE {
- session->stop();
- }
-
- private:
- boost::shared_ptr<IBBReceiveSession> session;
- boost::bsignals::scoped_connection finishedConnection;
- boost::bsignals::scoped_connection bytesSentConnection;
- };
-
- class FailingTransportSession : public TransportSession {
- public:
- virtual void start() SWIFTEN_OVERRIDE {
- assert(false);
- onFinished(FileTransferError(FileTransferError::PeerError));
- }
-
- virtual void stop() SWIFTEN_OVERRIDE {
- }
- };
-
- template <typename T>
- class S5BTransportSession : public TransportSession {
- public:
- S5BTransportSession(
- boost::shared_ptr<T> session,
- boost::shared_ptr<ReadBytestream> readStream) :
- session(session),
- readStream(readStream) {
- initialize();
- }
-
- S5BTransportSession(
- boost::shared_ptr<T> session,
- boost::shared_ptr<WriteBytestream> writeStream) :
- session(session),
- writeStream(writeStream) {
- initialize();
- }
-
- virtual void start() SWIFTEN_OVERRIDE {
- if (readStream) {
- session->startSending(readStream);
- }
- else {
- session->startReceiving(writeStream);
- }
- }
-
- virtual void stop() SWIFTEN_OVERRIDE {
- session->stop();
- }
-
- private:
- void initialize() {
- finishedConnection = session->onFinished.connect(boost::bind(boost::ref(onFinished), _1));
- bytesSentConnection = session->onBytesSent.connect(boost::bind(boost::ref(onBytesSent), _1));
- }
-
- private:
- boost::shared_ptr<T> session;
- boost::shared_ptr<ReadBytestream> readStream;
- boost::shared_ptr<WriteBytestream> writeStream;
-
- boost::bsignals::scoped_connection finishedConnection;
- boost::bsignals::scoped_connection bytesSentConnection;
- };
-}
-
DefaultFileTransferTransporter::DefaultFileTransferTransporter(
const JID& initiator,
const JID& responder,