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/SOCKS5BytestreamServerInitializeRequest.cpp
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/SOCKS5BytestreamServerInitializeRequest.cpp')
-rw-r--r--Swiften/FileTransfer/SOCKS5BytestreamServerInitializeRequest.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamServerInitializeRequest.cpp b/Swiften/FileTransfer/SOCKS5BytestreamServerInitializeRequest.cpp
new file mode 100644
index 0000000..38735de
--- /dev/null
+++ b/Swiften/FileTransfer/SOCKS5BytestreamServerInitializeRequest.cpp
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2012 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include <Swiften/FileTransfer/SOCKS5BytestreamServerInitializeRequest.h>
+
+#include <boost/bind.hpp>
+
+#include <Swiften/FileTransfer/SOCKS5BytestreamServerManager.h>
+
+using namespace Swift;
+
+SOCKS5BytestreamServerInitializeRequest::SOCKS5BytestreamServerInitializeRequest(SOCKS5BytestreamServerManager* manager) : manager(manager) {
+}
+
+SOCKS5BytestreamServerInitializeRequest::~SOCKS5BytestreamServerInitializeRequest() {
+}
+
+void SOCKS5BytestreamServerInitializeRequest::start() {
+ if (manager->isInitialized()) {
+ handleInitialized(true);
+ }
+ else {
+ manager->onInitialized.connect(
+ boost::bind(&SOCKS5BytestreamServerInitializeRequest::handleInitialized, this, _1));
+ manager->initialize();
+ }
+}
+
+void SOCKS5BytestreamServerInitializeRequest::stop() {
+ manager->onInitialized.disconnect(
+ boost::bind(&SOCKS5BytestreamServerInitializeRequest::handleInitialized, this, _1));
+}
+
+void SOCKS5BytestreamServerInitializeRequest::handleInitialized(bool success) {
+ onFinished(success);
+}