summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2012-12-25 14:39:48 (GMT)
committerRemko Tronçon <git@el-tramo.be>2013-05-11 10:22:56 (GMT)
commit927d62cc54c8a5087dba6b61afa9ad30dc528a23 (patch)
treee67dc911bd30c0519d31a542d8e085bbb209879d /Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h
parent17b188343e7208b875af7af30d94f0bf948f6b93 (diff)
downloadswift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.zip
swift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.tar.bz2
File Transfer refactoring.
Allocate S5B server lazily. Forward forts lazily. Various state machine fixes. Temporarily disabling S5B proxy support. Change-Id: I3145e85a99b15a7e457306bbfbe9c0eb570191e4
Diffstat (limited to 'Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h')
-rw-r--r--Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h b/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h
new file mode 100644
index 0000000..b5e8f95
--- /dev/null
+++ b/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2013 Remko Tronçon
+ * Licensed under the GNU General Public License.
+ * See the COPYING file for more information.
+ */
+
+#pragma once
+
+#include <Swiften/Base/Override.h>
+#include <Swiften/Base/API.h>
+#include <Swiften/FileTransfer/FileTransferTransporterFactory.h>
+
+namespace Swift {
+ class SOCKS5BytestreamRegistry;
+ class SOCKS5BytestreamServerManager;
+ class SOCKS5BytestreamProxiesManager;
+ class IDGenerator;
+ class ConnectionFactory;
+ class TimerFactory;
+ class CryptoProvider;
+ class IQRouter;
+
+ class SWIFTEN_API DefaultFileTransferTransporterFactory : public FileTransferTransporterFactory {
+ public:
+ DefaultFileTransferTransporterFactory(
+ SOCKS5BytestreamRegistry*,
+ SOCKS5BytestreamServerManager* s5bServerManager,
+ SOCKS5BytestreamProxiesManager* s5bProxy,
+ IDGenerator* idGenerator,
+ ConnectionFactory*,
+ TimerFactory*,
+ CryptoProvider*,
+ IQRouter*);
+ virtual ~DefaultFileTransferTransporterFactory();
+
+ virtual FileTransferTransporter* createInitiatorTransporter(
+ const JID& initiator, const JID& responder) SWIFTEN_OVERRIDE;
+ virtual FileTransferTransporter* createResponderTransporter(
+ const JID& initiator, const JID& responder, const std::string& s5bSessionID) SWIFTEN_OVERRIDE;
+
+ private:
+ SOCKS5BytestreamRegistry* s5bRegistry;
+ SOCKS5BytestreamServerManager* s5bServerManager;
+ SOCKS5BytestreamProxiesManager* s5bProxiesManager;
+ IDGenerator* idGenerator;
+ ConnectionFactory* connectionFactory;
+ TimerFactory* timerFactory;
+ CryptoProvider* cryptoProvider;
+ IQRouter* iqRouter;
+ };
+}