diff options
Diffstat (limited to 'Swiften/FileTransfer/JingleFileTransfer.cpp')
| -rw-r--r-- | Swiften/FileTransfer/JingleFileTransfer.cpp | 19 | 
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 @@  #include <boost/typeof/typeof.hpp> +#include <Swiften/Base/Log.h>  #include <Swiften/Base/foreach.h> -#include <Swiften/JID/JID.h>  #include <Swiften/Crypto/CryptoProvider.h> -#include <Swiften/StringCodecs/Hexify.h> -#include <Swiften/Jingle/JingleSession.h>  #include <Swiften/FileTransfer/FileTransferTransporter.h> -#include <Swiften/Base/Log.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Jingle/JingleSession.h> +#include <Swiften/StringCodecs/Hexify.h>  using namespace Swift; @@ -213,6 +213,7 @@ void JingleFileTransfer::handleTransportInfoReceived(  }  void JingleFileTransfer::setTransporter(FileTransferTransporter* transporter) { +	SWIFT_LOG_ASSERT(!this->transporter, error);  	this->transporter = transporter;  	localTransportCandidatesGeneratedConnection = transporter->onLocalCandidatesGenerated.connect(  		boost::bind(&JingleFileTransfer::handleLocalTransportCandidatesGenerated, this, _1, _2, _3)); @@ -222,3 +223,13 @@ void JingleFileTransfer::setTransporter(FileTransferTransporter* transporter) {  		boost::bind(&JingleFileTransfer::handleProxyActivateFinished, this, _1, _2));  } +void JingleFileTransfer::removeTransporter() { +	if (transporter) { +		localTransportCandidatesGeneratedConnection.release(); +		remoteTransportCandidateSelectFinishedConnection.release(); +		proxyActivatedConnection.release(); +		delete transporter; +		transporter = NULL; +	} +} +  | 
 Swift