summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer/JingleFileTransfer.cpp')
-rw-r--r--Swiften/FileTransfer/JingleFileTransfer.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/Swiften/FileTransfer/JingleFileTransfer.cpp b/Swiften/FileTransfer/JingleFileTransfer.cpp
index dbc4391..cf67a67 100644
--- a/Swiften/FileTransfer/JingleFileTransfer.cpp
+++ b/Swiften/FileTransfer/JingleFileTransfer.cpp
@@ -8,13 +8,13 @@
8 8
9#include <boost/typeof/typeof.hpp> 9#include <boost/typeof/typeof.hpp>
10 10
11#include <Swiften/Base/Log.h>
11#include <Swiften/Base/foreach.h> 12#include <Swiften/Base/foreach.h>
12#include <Swiften/JID/JID.h>
13#include <Swiften/Crypto/CryptoProvider.h> 13#include <Swiften/Crypto/CryptoProvider.h>
14#include <Swiften/StringCodecs/Hexify.h>
15#include <Swiften/Jingle/JingleSession.h>
16#include <Swiften/FileTransfer/FileTransferTransporter.h> 14#include <Swiften/FileTransfer/FileTransferTransporter.h>
17#include <Swiften/Base/Log.h> 15#include <Swiften/JID/JID.h>
16#include <Swiften/Jingle/JingleSession.h>
17#include <Swiften/StringCodecs/Hexify.h>
18 18
19using namespace Swift; 19using namespace Swift;
20 20
@@ -213,6 +213,7 @@ void JingleFileTransfer::handleTransportInfoReceived(
213} 213}
214 214
215void JingleFileTransfer::setTransporter(FileTransferTransporter* transporter) { 215void JingleFileTransfer::setTransporter(FileTransferTransporter* transporter) {
216 SWIFT_LOG_ASSERT(!this->transporter, error);
216 this->transporter = transporter; 217 this->transporter = transporter;
217 localTransportCandidatesGeneratedConnection = transporter->onLocalCandidatesGenerated.connect( 218 localTransportCandidatesGeneratedConnection = transporter->onLocalCandidatesGenerated.connect(
218 boost::bind(&JingleFileTransfer::handleLocalTransportCandidatesGenerated, this, _1, _2, _3)); 219 boost::bind(&JingleFileTransfer::handleLocalTransportCandidatesGenerated, this, _1, _2, _3));
@@ -222,3 +223,13 @@ void JingleFileTransfer::setTransporter(FileTransferTransporter* transporter) {
222 boost::bind(&JingleFileTransfer::handleProxyActivateFinished, this, _1, _2)); 223 boost::bind(&JingleFileTransfer::handleProxyActivateFinished, this, _1, _2));
223} 224}
224 225
226void JingleFileTransfer::removeTransporter() {
227 if (transporter) {
228 localTransportCandidatesGeneratedConnection.release();
229 remoteTransportCandidateSelectFinishedConnection.release();
230 proxyActivatedConnection.release();
231 delete transporter;
232 transporter = NULL;
233 }
234}
235