summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2017-07-13 06:07:37 (GMT)
committerTobias Markmann <tm@ayena.de>2017-07-13 06:07:37 (GMT)
commit497dfb8ab128b0bbfdb6b3045caa03f8b38bc9fc (patch)
tree4d69e5ce56c755cf3b61aaf78e24729130f77e2e /Swiften/FileTransfer
parent8f4d198c4d3aa55a5215061e84572d5faf4e4117 (diff)
downloadswift-497dfb8ab128b0bbfdb6b3045caa03f8b38bc9fc.zip
swift-497dfb8ab128b0bbfdb6b3045caa03f8b38bc9fc.tar.bz2
Remove Swiften/Base/Override.h
Replaced SWIFTEN_OVERRIDE with C++11 standard override keyword. Test-Information: Tested on macOS 10.12.5 with clang trunk. Change-Id: If89c6cc2a648662522a320834c314496c943a55a
Diffstat (limited to 'Swiften/FileTransfer')
-rw-r--r--Swiften/FileTransfer/DefaultFileTransferTransporter.h29
-rw-r--r--Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h7
-rw-r--r--Swiften/FileTransfer/FailingTransportSession.h6
-rw-r--r--Swiften/FileTransfer/FileTransferManagerImpl.h7
-rw-r--r--Swiften/FileTransfer/FileTransferOptions.h3
-rw-r--r--Swiften/FileTransfer/IBBReceiveTransportSession.h6
-rw-r--r--Swiften/FileTransfer/IBBSendTransportSession.h6
-rw-r--r--Swiften/FileTransfer/IncomingJingleFileTransfer.h43
-rw-r--r--Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h3
-rw-r--r--Swiften/FileTransfer/OutgoingJingleFileTransfer.h43
-rw-r--r--Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h3
-rw-r--r--Swiften/FileTransfer/S5BTransportSession.h6
-rw-r--r--Swiften/FileTransfer/TransportSession.h3
-rw-r--r--Swiften/FileTransfer/UnitTest/DummyFileTransferManager.h7
-rw-r--r--Swiften/FileTransfer/UnitTest/IncomingJingleFileTransferTest.cpp3
-rw-r--r--Swiften/FileTransfer/UnitTest/OutgoingJingleFileTransferTest.cpp3
16 files changed, 83 insertions, 95 deletions
diff --git a/Swiften/FileTransfer/DefaultFileTransferTransporter.h b/Swiften/FileTransfer/DefaultFileTransferTransporter.h
index 8843de8..1bfe799 100644
--- a/Swiften/FileTransfer/DefaultFileTransferTransporter.h
+++ b/Swiften/FileTransfer/DefaultFileTransferTransporter.h
@@ -1,109 +1,108 @@
/*
* Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <Swiften/Base/API.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Elements/ErrorPayload.h>
#include <Swiften/FileTransfer/FileTransferTransporter.h>
namespace Swift {
class LocalJingleTransportCandidateGenerator;
class RemoteJingleTransportCandidateSelector;
class SOCKS5BytestreamRegistry;
class SOCKS5BytestreamServerManager;
class SOCKS5BytestreamProxiesManager;
class SOCKS5BytestreamClientSession;
class SOCKS5BytestreamServerSession;
class IDGenerator;
class IQRouter;
class ReadBytestream;
class WriteBytestream;
class ConnectionFactory;
class TimerFactory;
class CryptoProvider;
class FileTransferOptions;
class SWIFTEN_API DefaultFileTransferTransporter : public FileTransferTransporter {
public:
enum Role {
Initiator,
Responder
};
DefaultFileTransferTransporter(
const JID& initiator,
const JID& responder,
Role role,
SOCKS5BytestreamRegistry*,
SOCKS5BytestreamServerManager* s5bServerManager,
SOCKS5BytestreamProxiesManager* s5bProxy,
IDGenerator* idGenerator,
ConnectionFactory*,
TimerFactory*,
CryptoProvider*,
IQRouter*,
const FileTransferOptions&);
- virtual ~DefaultFileTransferTransporter() SWIFTEN_OVERRIDE;
+ virtual ~DefaultFileTransferTransporter() override;
virtual void initialize();
virtual void initialize(const std::string& s5bSessionID);
- virtual void startGeneratingLocalCandidates() SWIFTEN_OVERRIDE;
- virtual void stopGeneratingLocalCandidates() SWIFTEN_OVERRIDE;
+ virtual void startGeneratingLocalCandidates() override;
+ virtual void stopGeneratingLocalCandidates() override;
virtual void addRemoteCandidates(
- const std::vector<JingleS5BTransportPayload::Candidate>&, const std::string&) SWIFTEN_OVERRIDE;
- virtual void startTryingRemoteCandidates() SWIFTEN_OVERRIDE;
- virtual void stopTryingRemoteCandidates() SWIFTEN_OVERRIDE;
+ const std::vector<JingleS5BTransportPayload::Candidate>&, const std::string&) override;
+ virtual void startTryingRemoteCandidates() override;
+ virtual void stopTryingRemoteCandidates() override;
- virtual void startActivatingProxy(const JID& jid) SWIFTEN_OVERRIDE;
- virtual void stopActivatingProxy() SWIFTEN_OVERRIDE;
+ virtual void startActivatingProxy(const JID& jid) override;
+ virtual void stopActivatingProxy() override;
virtual std::shared_ptr<TransportSession> createIBBSendSession(
- const std::string& sessionID, unsigned int blockSize, std::shared_ptr<ReadBytestream>) SWIFTEN_OVERRIDE;
+ const std::string& sessionID, unsigned int blockSize, std::shared_ptr<ReadBytestream>) override;
virtual std::shared_ptr<TransportSession> createIBBReceiveSession(
- const std::string& sessionID, unsigned long long size, std::shared_ptr<WriteBytestream>) SWIFTEN_OVERRIDE;
+ const std::string& sessionID, unsigned long long size, std::shared_ptr<WriteBytestream>) override;
virtual std::shared_ptr<TransportSession> createRemoteCandidateSession(
- std::shared_ptr<ReadBytestream>, const JingleS5BTransportPayload::Candidate& candidate) SWIFTEN_OVERRIDE;
+ std::shared_ptr<ReadBytestream>, const JingleS5BTransportPayload::Candidate& candidate) override;
virtual std::shared_ptr<TransportSession> createRemoteCandidateSession(
- std::shared_ptr<WriteBytestream>, const JingleS5BTransportPayload::Candidate& candidate) SWIFTEN_OVERRIDE;
+ std::shared_ptr<WriteBytestream>, const JingleS5BTransportPayload::Candidate& candidate) override;
virtual std::shared_ptr<TransportSession> createLocalCandidateSession(
- std::shared_ptr<ReadBytestream>, const JingleS5BTransportPayload::Candidate& candidate) SWIFTEN_OVERRIDE;
+ std::shared_ptr<ReadBytestream>, const JingleS5BTransportPayload::Candidate& candidate) override;
virtual std::shared_ptr<TransportSession> createLocalCandidateSession(
- std::shared_ptr<WriteBytestream>, const JingleS5BTransportPayload::Candidate& candidate) SWIFTEN_OVERRIDE;
+ std::shared_ptr<WriteBytestream>, const JingleS5BTransportPayload::Candidate& candidate) override;
private:
void handleLocalCandidatesGenerated(const std::vector<JingleS5BTransportPayload::Candidate>&);
void handleRemoteCandidateSelectFinished(
const boost::optional<JingleS5BTransportPayload::Candidate>&,
std::shared_ptr<SOCKS5BytestreamClientSession>);
void handleActivateProxySessionResult(const std::string& sessionID, ErrorPayload::ref error);
void closeLocalSession();
void closeRemoteSession();
std::shared_ptr<SOCKS5BytestreamServerSession> getServerSession();
std::string getSOCKS5DstAddr() const;
std::string getInitiatorCandidateSOCKS5DstAddr() const;
std::string getResponderCandidateSOCKS5DstAddr() const;
std::string getRemoteCandidateSOCKS5DstAddr() const;
std::string getLocalCandidateSOCKS5DstAddr() const;
private:
JID initiator;
JID responder;
Role role;
SOCKS5BytestreamRegistry* s5bRegistry;
SOCKS5BytestreamServerManager* s5bServerManager;
SOCKS5BytestreamProxiesManager* s5bProxy;
CryptoProvider* crypto;
IQRouter* router;
LocalJingleTransportCandidateGenerator* localCandidateGenerator;
RemoteJingleTransportCandidateSelector* remoteCandidateSelector;
std::string s5bSessionID;
std::shared_ptr<SOCKS5BytestreamClientSession> remoteS5BClientSession;
diff --git a/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h b/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h
index 774747a..fe4f6ea 100644
--- a/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h
+++ b/Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h
@@ -1,51 +1,50 @@
/*
* Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <Swiften/Base/API.h>
-#include <Swiften/Base/Override.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() SWIFTEN_OVERRIDE;
+ virtual ~DefaultFileTransferTransporterFactory() override;
virtual FileTransferTransporter* createInitiatorTransporter(
- const JID& initiator, const JID& responder, const FileTransferOptions&) SWIFTEN_OVERRIDE;
+ const JID& initiator, const JID& responder, const FileTransferOptions&) override;
virtual FileTransferTransporter* createResponderTransporter(
- const JID& initiator, const JID& responder, const std::string& s5bSessionID, const FileTransferOptions&) SWIFTEN_OVERRIDE;
+ const JID& initiator, const JID& responder, const std::string& s5bSessionID, const FileTransferOptions&) override;
private:
SOCKS5BytestreamRegistry* s5bRegistry;
SOCKS5BytestreamServerManager* s5bServerManager;
SOCKS5BytestreamProxiesManager* s5bProxiesManager;
IDGenerator* idGenerator;
ConnectionFactory* connectionFactory;
TimerFactory* timerFactory;
CryptoProvider* cryptoProvider;
IQRouter* iqRouter;
};
}
diff --git a/Swiften/FileTransfer/FailingTransportSession.h b/Swiften/FileTransfer/FailingTransportSession.h
index 28d9d07..489786b 100644
--- a/Swiften/FileTransfer/FailingTransportSession.h
+++ b/Swiften/FileTransfer/FailingTransportSession.h
@@ -1,22 +1,22 @@
/*
* Copyright (c) 2015-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <Swiften/Base/API.h>
#include <Swiften/FileTransfer/TransportSession.h>
namespace Swift {
class SWIFTEN_API FailingTransportSession : public TransportSession {
public:
- virtual ~FailingTransportSession() SWIFTEN_OVERRIDE;
+ virtual ~FailingTransportSession() override;
- virtual void start() SWIFTEN_OVERRIDE;
- virtual void stop() SWIFTEN_OVERRIDE;
+ virtual void start() override;
+ virtual void stop() override;
};
}
diff --git a/Swiften/FileTransfer/FileTransferManagerImpl.h b/Swiften/FileTransfer/FileTransferManagerImpl.h
index e02dfc6..d3d55f0 100644
--- a/Swiften/FileTransfer/FileTransferManagerImpl.h
+++ b/Swiften/FileTransfer/FileTransferManagerImpl.h
@@ -1,103 +1,102 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
* Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <string>
#include <vector>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/optional.hpp>
#include <boost/signals2.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/Base/IDGenerator.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Elements/S5BProxyRequest.h>
#include <Swiften/FileTransfer/FileTransferManager.h>
#include <Swiften/FileTransfer/FileTransferOptions.h>
#include <Swiften/FileTransfer/IncomingFileTransfer.h>
#include <Swiften/FileTransfer/OutgoingFileTransfer.h>
namespace Swift {
class ConnectionFactory;
class ConnectionServerFactory;
class CryptoProvider;
class DomainNameResolver;
class EntityCapsProvider;
class FileTransferTransporterFactory;
class IQRouter;
class IncomingFileTransferManager;
class JID;
class JingleSessionManager;
class NATTraverser;
class NetworkEnvironment;
class OutgoingFileTransferManager;
class PresenceOracle;
class ReadBytestream;
class SOCKS5BytestreamProxiesManager;
class SOCKS5BytestreamRegistry;
class SOCKS5BytestreamServerManager;
class TimerFactory;
class SWIFTEN_API FileTransferManagerImpl : public FileTransferManager {
public:
FileTransferManagerImpl(
const JID& ownFullJID,
JingleSessionManager* jingleSessionManager,
IQRouter* router,
EntityCapsProvider* capsProvider,
PresenceOracle* presOracle,
ConnectionFactory* connectionFactory,
ConnectionServerFactory* connectionServerFactory,
TimerFactory* timerFactory,
DomainNameResolver* domainNameResolver,
NetworkEnvironment* networkEnvironment,
NATTraverser* natTraverser,
CryptoProvider* crypto);
- virtual ~FileTransferManagerImpl() SWIFTEN_OVERRIDE;
+ virtual ~FileTransferManagerImpl() override;
OutgoingFileTransfer::ref createOutgoingFileTransfer(
const JID& to,
const boost::filesystem::path& filepath,
const std::string& description,
std::shared_ptr<ReadBytestream> bytestream,
- const FileTransferOptions&) SWIFTEN_OVERRIDE;
+ const FileTransferOptions&) override;
OutgoingFileTransfer::ref createOutgoingFileTransfer(
const JID& to,
const std::string& filename,
const std::string& description,
const boost::uintmax_t sizeInBytes,
const boost::posix_time::ptime& lastModified,
std::shared_ptr<ReadBytestream> bytestream,
- const FileTransferOptions&) SWIFTEN_OVERRIDE;
+ const FileTransferOptions&) override;
void start();
void stop();
private:
boost::optional<JID> highestPriorityJIDSupportingFileTransfer(const JID& bareJID);
private:
OutgoingFileTransferManager* outgoingFTManager;
IncomingFileTransferManager* incomingFTManager;
FileTransferTransporterFactory* transporterFactory;
IQRouter* iqRouter;
EntityCapsProvider* capsProvider;
PresenceOracle* presenceOracle;
IDGenerator idGenerator;
SOCKS5BytestreamRegistry* bytestreamRegistry;
SOCKS5BytestreamProxiesManager* bytestreamProxy;
SOCKS5BytestreamServerManager* s5bServerManager;
};
}
diff --git a/Swiften/FileTransfer/FileTransferOptions.h b/Swiften/FileTransfer/FileTransferOptions.h
index 2bc4ee1..aa9aa97 100644
--- a/Swiften/FileTransfer/FileTransferOptions.h
+++ b/Swiften/FileTransfer/FileTransferOptions.h
@@ -1,40 +1,39 @@
/*
- * Copyright (c) 2013-2016 Isode Limited.
+ * Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <Swiften/Base/API.h>
-#include <Swiften/Base/Override.h>
namespace Swift {
class SWIFTEN_API FileTransferOptions {
public:
FileTransferOptions() : allowInBand_(true), allowAssisted_(true), allowProxied_(true), allowDirect_(true) {
}
SWIFTEN_DEFAULT_COPY_CONSTRUCTOR(FileTransferOptions)
~FileTransferOptions();
FileTransferOptions& withInBandAllowed(bool b) {
allowInBand_ = b;
return *this;
}
bool isInBandAllowed() const {
return allowInBand_;
}
FileTransferOptions& withAssistedAllowed(bool b) {
allowAssisted_ = b;
return *this;
}
bool isAssistedAllowed() const {
return allowAssisted_;
}
FileTransferOptions& withProxiedAllowed(bool b) {
allowProxied_ = b;
return *this;
diff --git a/Swiften/FileTransfer/IBBReceiveTransportSession.h b/Swiften/FileTransfer/IBBReceiveTransportSession.h
index 7529274..5b1fd8d 100644
--- a/Swiften/FileTransfer/IBBReceiveTransportSession.h
+++ b/Swiften/FileTransfer/IBBReceiveTransportSession.h
@@ -1,31 +1,31 @@
/*
* Copyright (c) 2015-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <boost/signals2.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/FileTransfer/IBBReceiveSession.h>
#include <Swiften/FileTransfer/TransportSession.h>
namespace Swift {
class SWIFTEN_API IBBReceiveTransportSession : public TransportSession {
public:
IBBReceiveTransportSession(std::shared_ptr<IBBReceiveSession> session);
- virtual ~IBBReceiveTransportSession() SWIFTEN_OVERRIDE;
+ virtual ~IBBReceiveTransportSession() override;
- virtual void start() SWIFTEN_OVERRIDE;
- virtual void stop() SWIFTEN_OVERRIDE;
+ virtual void start() override;
+ virtual void stop() override;
private:
std::shared_ptr<IBBReceiveSession> session;
boost::signals2::scoped_connection finishedConnection;
boost::signals2::scoped_connection bytesSentConnection;
};
}
diff --git a/Swiften/FileTransfer/IBBSendTransportSession.h b/Swiften/FileTransfer/IBBSendTransportSession.h
index f9bf8fb..7deaaac 100644
--- a/Swiften/FileTransfer/IBBSendTransportSession.h
+++ b/Swiften/FileTransfer/IBBSendTransportSession.h
@@ -1,31 +1,31 @@
/*
* Copyright (c) 2015-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <boost/signals2.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/FileTransfer/IBBSendSession.h>
#include <Swiften/FileTransfer/TransportSession.h>
namespace Swift {
class SWIFTEN_API IBBSendTransportSession : public TransportSession {
public:
IBBSendTransportSession(std::shared_ptr<IBBSendSession> session);
- virtual ~IBBSendTransportSession() SWIFTEN_OVERRIDE;
+ virtual ~IBBSendTransportSession() override;
- virtual void start() SWIFTEN_OVERRIDE;
- virtual void stop() SWIFTEN_OVERRIDE;
+ virtual void start() override;
+ virtual void stop() override;
private:
std::shared_ptr<IBBSendSession> session;
boost::signals2::scoped_connection finishedConnection;
boost::signals2::scoped_connection bytesSentConnection;
};
}
diff --git a/Swiften/FileTransfer/IncomingJingleFileTransfer.h b/Swiften/FileTransfer/IncomingJingleFileTransfer.h
index e71126b..f42004d 100644
--- a/Swiften/FileTransfer/IncomingJingleFileTransfer.h
+++ b/Swiften/FileTransfer/IncomingJingleFileTransfer.h
@@ -1,127 +1,126 @@
/*
* Copyright (c) 2010-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <memory>
#include <string>
#include <boost/cstdint.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/Base/ByteArray.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Elements/JingleS5BTransportPayload.h>
#include <Swiften/FileTransfer/FileTransferOptions.h>
#include <Swiften/FileTransfer/IncomingFileTransfer.h>
#include <Swiften/FileTransfer/JingleFileTransfer.h>
#include <Swiften/Jingle/JingleContentID.h>
namespace Swift {
class CryptoProvider;
class FileTransferTransporterFactory;
class IncrementalBytestreamHashCalculator;
class JID;
class JingleContentPayload;
class JingleFileTransferDescription;
class JingleSession;
class Timer;
class TimerFactory;
/**
* @brief The IncomingJingleFileTransfer class contains the business logic for managing incoming
* Jingle file transfers.
*
* Calling IncomingJingleFileTransfer::accept will start to negotiate possible transfer
* methods and after a working method has been decided among peers the trasnfer is started.
*/
class SWIFTEN_API IncomingJingleFileTransfer : public IncomingFileTransfer, public JingleFileTransfer {
public:
typedef std::shared_ptr<IncomingJingleFileTransfer> ref;
IncomingJingleFileTransfer(
const JID& recipient,
std::shared_ptr<JingleSession>,
std::shared_ptr<JingleContentPayload> content,
FileTransferTransporterFactory*,
TimerFactory*,
CryptoProvider*);
- virtual ~IncomingJingleFileTransfer() SWIFTEN_OVERRIDE;
+ virtual ~IncomingJingleFileTransfer() override;
- virtual void accept(std::shared_ptr<WriteBytestream>, const FileTransferOptions& = FileTransferOptions()) SWIFTEN_OVERRIDE;
- virtual void cancel() SWIFTEN_OVERRIDE;
+ virtual void accept(std::shared_ptr<WriteBytestream>, const FileTransferOptions& = FileTransferOptions()) override;
+ virtual void cancel() override;
private:
enum State {
Initial,
GeneratingInitialLocalCandidates,
TryingCandidates,
WaitingForPeerProxyActivate,
WaitingForLocalProxyActivate,
WaitingForFallbackOrTerminate,
Transferring,
WaitingForHash,
Finished
};
virtual void handleSessionTerminateReceived(
- boost::optional<JinglePayload::Reason> reason) SWIFTEN_OVERRIDE;
- virtual void handleSessionInfoReceived(std::shared_ptr<JinglePayload>) SWIFTEN_OVERRIDE;
+ boost::optional<JinglePayload::Reason> reason) override;
+ virtual void handleSessionInfoReceived(std::shared_ptr<JinglePayload>) override;
virtual void handleTransportReplaceReceived(
- const JingleContentID&, std::shared_ptr<JingleTransportPayload>) SWIFTEN_OVERRIDE;
+ const JingleContentID&, std::shared_ptr<JingleTransportPayload>) override;
virtual void handleLocalTransportCandidatesGenerated(
const std::string& s5bSessionID,
const std::vector<JingleS5BTransportPayload::Candidate>&,
- const std::string& dstAddr) SWIFTEN_OVERRIDE;
+ const std::string& dstAddr) override;
void handleWriteStreamDataReceived(const std::vector<unsigned char>& data);
void stopActiveTransport();
void checkCandidateSelected();
- virtual JingleContentID getContentID() const SWIFTEN_OVERRIDE;
+ virtual JingleContentID getContentID() const override;
void checkIfAllDataReceived();
bool verifyData();
void handleWaitOnHashTimerTicked();
void handleTransferFinished(boost::optional<FileTransferError>);
private:
- virtual void startTransferViaRemoteCandidate() SWIFTEN_OVERRIDE;
- virtual void startTransferViaLocalCandidate() SWIFTEN_OVERRIDE;
+ virtual void startTransferViaRemoteCandidate() override;
+ virtual void startTransferViaLocalCandidate() override;
void checkHashAndTerminate();
void stopAll();
void setState(State state);
void setFinishedState(FileTransfer::State::Type, const boost::optional<FileTransferError>& error);
- const JID& getSender() const SWIFTEN_OVERRIDE;
- const JID& getRecipient() const SWIFTEN_OVERRIDE;
+ const JID& getSender() const override;
+ const JID& getRecipient() const override;
static FileTransfer::State::Type getExternalState(State state);
- virtual bool hasPriorityOnCandidateTie() const SWIFTEN_OVERRIDE;
- virtual void fallback() SWIFTEN_OVERRIDE;
- virtual void startTransferring(std::shared_ptr<TransportSession>) SWIFTEN_OVERRIDE;
- virtual bool isWaitingForPeerProxyActivate() const SWIFTEN_OVERRIDE;
- virtual bool isWaitingForLocalProxyActivate() const SWIFTEN_OVERRIDE;
- virtual bool isTryingCandidates() const SWIFTEN_OVERRIDE;
- virtual std::shared_ptr<TransportSession> createLocalCandidateSession() SWIFTEN_OVERRIDE;
- virtual std::shared_ptr<TransportSession> createRemoteCandidateSession() SWIFTEN_OVERRIDE;
- virtual void terminate(JinglePayload::Reason::Type reason) SWIFTEN_OVERRIDE;
+ virtual bool hasPriorityOnCandidateTie() const override;
+ virtual void fallback() override;
+ virtual void startTransferring(std::shared_ptr<TransportSession>) override;
+ virtual bool isWaitingForPeerProxyActivate() const override;
+ virtual bool isWaitingForLocalProxyActivate() const override;
+ virtual bool isTryingCandidates() const override;
+ virtual std::shared_ptr<TransportSession> createLocalCandidateSession() override;
+ virtual std::shared_ptr<TransportSession> createRemoteCandidateSession() override;
+ virtual void terminate(JinglePayload::Reason::Type reason) override;
private:
std::shared_ptr<JingleContentPayload> initialContent;
CryptoProvider* crypto;
State state;
std::shared_ptr<JingleFileTransferDescription> description;
std::shared_ptr<WriteBytestream> stream;
boost::uintmax_t receivedBytes;
IncrementalBytestreamHashCalculator* hashCalculator;
std::shared_ptr<Timer> waitOnHashTimer;
std::map<std::string, ByteArray> hashes;
FileTransferOptions options;
boost::signals2::scoped_connection writeStreamDataReceivedConnection;
boost::signals2::scoped_connection waitOnHashTimerTickedConnection;
boost::signals2::connection transferFinishedConnection;
};
}
diff --git a/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h b/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h
index 2159063..8c53d16 100644
--- a/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h
+++ b/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h
@@ -1,50 +1,49 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
- * Copyright (c) 2013-2016 Isode Limited.
+ * Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h>
#include <boost/signals2.hpp>
#include <Swiften/Base/IDGenerator.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Elements/JingleS5BTransportPayload.h>
#include <Swiften/FileTransfer/FileTransferOptions.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h>
#include <Swiften/JID/JID.h>
namespace Swift {
class SOCKS5BytestreamServerManager;
class SOCKS5BytestreamProxiesManager;
class SOCKS5BytestreamServerInitializeRequest;
class SOCKS5BytestreamServerResourceUser;
class SOCKS5BytestreamServerPortForwardingUser;
class JingleS5BTransportPayload;
class LocalJingleTransportCandidateGenerator {
public:
LocalJingleTransportCandidateGenerator(
SOCKS5BytestreamServerManager* s5bServerManager,
SOCKS5BytestreamProxiesManager* s5bProxy,
const JID& ownJID,
IDGenerator* idGenerator,
const FileTransferOptions& options);
virtual ~LocalJingleTransportCandidateGenerator();
virtual void start();
virtual void stop();
boost::signals2::signal<void (const std::vector<JingleS5BTransportPayload::Candidate>&)> onLocalTransportCandidatesGenerated;
private:
void handleS5BServerInitialized(bool success);
diff --git a/Swiften/FileTransfer/OutgoingJingleFileTransfer.h b/Swiften/FileTransfer/OutgoingJingleFileTransfer.h
index 0ab4e2b..6db4e40 100644
--- a/Swiften/FileTransfer/OutgoingJingleFileTransfer.h
+++ b/Swiften/FileTransfer/OutgoingJingleFileTransfer.h
@@ -1,122 +1,121 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
* Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <memory>
#include <boost/optional/optional.hpp>
#include <Swiften/Base/API.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Elements/JingleFileTransferFileInfo.h>
#include <Swiften/FileTransfer/FileTransferOptions.h>
#include <Swiften/FileTransfer/JingleFileTransfer.h>
#include <Swiften/FileTransfer/OutgoingFileTransfer.h>
#include <Swiften/Jingle/JingleContentID.h>
#include <Swiften/Network/Timer.h>
namespace Swift {
class CryptoProvider;
class FileTransferTransporterFactory;
class IDGenerator;
class IncrementalBytestreamHashCalculator;
class ReadBytestream;
class TimerFactory;
class TransportSession;
class SWIFTEN_API OutgoingJingleFileTransfer : public OutgoingFileTransfer, public JingleFileTransfer {
public:
OutgoingJingleFileTransfer(
const JID& to,
std::shared_ptr<JingleSession>,
std::shared_ptr<ReadBytestream>,
FileTransferTransporterFactory*,
TimerFactory*,
IDGenerator*,
const JingleFileTransferFileInfo&,
const FileTransferOptions&,
CryptoProvider*);
- virtual ~OutgoingJingleFileTransfer() SWIFTEN_OVERRIDE;
+ virtual ~OutgoingJingleFileTransfer() override;
- virtual void start() SWIFTEN_OVERRIDE;
- virtual void cancel() SWIFTEN_OVERRIDE;
+ virtual void start() override;
+ virtual void cancel() override;
private:
enum State {
Initial,
GeneratingInitialLocalCandidates,
WaitingForAccept,
TryingCandidates,
WaitingForPeerProxyActivate,
WaitingForLocalProxyActivate,
WaitingForCandidateAcknowledge,
FallbackRequested,
Transferring,
WaitForTermination,
Finished
};
- virtual void handleSessionAcceptReceived(const JingleContentID&, std::shared_ptr<JingleDescription>, std::shared_ptr<JingleTransportPayload>) SWIFTEN_OVERRIDE;
- virtual void handleSessionTerminateReceived(boost::optional<JinglePayload::Reason> reason) SWIFTEN_OVERRIDE;
- virtual void handleTransportAcceptReceived(const JingleContentID&, std::shared_ptr<JingleTransportPayload>) SWIFTEN_OVERRIDE;
- virtual void handleTransportRejectReceived(const JingleContentID &, std::shared_ptr<JingleTransportPayload>) SWIFTEN_OVERRIDE;
- virtual void startTransferViaRemoteCandidate() SWIFTEN_OVERRIDE;
- virtual void startTransferViaLocalCandidate() SWIFTEN_OVERRIDE;
+ virtual void handleSessionAcceptReceived(const JingleContentID&, std::shared_ptr<JingleDescription>, std::shared_ptr<JingleTransportPayload>) override;
+ virtual void handleSessionTerminateReceived(boost::optional<JinglePayload::Reason> reason) override;
+ virtual void handleTransportAcceptReceived(const JingleContentID&, std::shared_ptr<JingleTransportPayload>) override;
+ virtual void handleTransportRejectReceived(const JingleContentID &, std::shared_ptr<JingleTransportPayload>) override;
+ virtual void startTransferViaRemoteCandidate() override;
+ virtual void startTransferViaLocalCandidate() override;
void startTransferringIfCandidateAcknowledged();
- virtual void handleLocalTransportCandidatesGenerated(const std::string& s5bSessionID, const std::vector<JingleS5BTransportPayload::Candidate>&, const std::string& dstAddr) SWIFTEN_OVERRIDE;
- virtual void handleTransportInfoAcknowledged(const std::string& id) SWIFTEN_OVERRIDE;
+ virtual void handleLocalTransportCandidatesGenerated(const std::string& s5bSessionID, const std::vector<JingleS5BTransportPayload::Candidate>&, const std::string& dstAddr) override;
+ virtual void handleTransportInfoAcknowledged(const std::string& id) override;
- virtual JingleContentID getContentID() const SWIFTEN_OVERRIDE;
+ virtual JingleContentID getContentID() const override;
- virtual void terminate(JinglePayload::Reason::Type reason) SWIFTEN_OVERRIDE;
+ virtual void terminate(JinglePayload::Reason::Type reason) override;
- virtual void fallback() SWIFTEN_OVERRIDE;
+ virtual void fallback() override;
void handleTransferFinished(boost::optional<FileTransferError>);
void sendSessionInfoHash();
- virtual void startTransferring(std::shared_ptr<TransportSession>) SWIFTEN_OVERRIDE;
+ virtual void startTransferring(std::shared_ptr<TransportSession>) override;
- virtual bool hasPriorityOnCandidateTie() const SWIFTEN_OVERRIDE;
- virtual bool isWaitingForPeerProxyActivate() const SWIFTEN_OVERRIDE;
- virtual bool isWaitingForLocalProxyActivate() const SWIFTEN_OVERRIDE;
- virtual bool isTryingCandidates() const SWIFTEN_OVERRIDE;
- virtual std::shared_ptr<TransportSession> createLocalCandidateSession() SWIFTEN_OVERRIDE;
- virtual std::shared_ptr<TransportSession> createRemoteCandidateSession() SWIFTEN_OVERRIDE;
+ virtual bool hasPriorityOnCandidateTie() const override;
+ virtual bool isWaitingForPeerProxyActivate() const override;
+ virtual bool isWaitingForLocalProxyActivate() const override;
+ virtual bool isTryingCandidates() const override;
+ virtual std::shared_ptr<TransportSession> createLocalCandidateSession() override;
+ virtual std::shared_ptr<TransportSession> createRemoteCandidateSession() override;
void handleWaitForRemoteTerminationTimeout();
void stopAll();
void setInternalState(State state);
void setFinishedState(FileTransfer::State::Type, const boost::optional<FileTransferError>& error);
static FileTransfer::State::Type getExternalState(State state);
private:
IDGenerator* idGenerator;
std::shared_ptr<ReadBytestream> stream;
JingleFileTransferFileInfo fileInfo;
FileTransferOptions options;
JingleContentID contentID;
IncrementalBytestreamHashCalculator* hashCalculator;
State state;
bool candidateAcknowledged;
Timer::ref waitForRemoteTermination;
boost::signals2::connection processedBytesConnection;
boost::signals2::connection transferFinishedConnection;
};
}
diff --git a/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h b/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h
index c4257f6..c205516 100644
--- a/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h
+++ b/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h
@@ -1,51 +1,50 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
- * Copyright (c) 2013-2016 Isode Limited.
+ * Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h>
#include <memory>
#include <queue>
#include <vector>
-#include <Swiften/Base/Override.h>
#include <Swiften/Elements/JingleS5BTransportPayload.h>
#include <Swiften/FileTransfer/FileTransferOptions.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamClientSession.h>
#include <Swiften/JID/JID.h>
#include <Swiften/Network/Connection.h>
namespace Swift {
class ConnectionFactory;
class TimerFactory;
class RemoteJingleTransportCandidateSelector {
public:
RemoteJingleTransportCandidateSelector(ConnectionFactory*, TimerFactory*, const FileTransferOptions&);
virtual ~RemoteJingleTransportCandidateSelector();
virtual void addCandidates(const std::vector<JingleS5BTransportPayload::Candidate>&);
virtual void setSOCKS5DstAddr(const std::string&);
virtual void startSelectingCandidate();
virtual void stopSelectingCandidate();
boost::signals2::signal<void (const boost::optional<JingleS5BTransportPayload::Candidate>&, std::shared_ptr<SOCKS5BytestreamClientSession>)> onCandidateSelectFinished;
private:
void tryNextCandidate();
void handleSessionReady(bool error);
private:
ConnectionFactory* connectionFactory;
TimerFactory* timerFactory;
diff --git a/Swiften/FileTransfer/S5BTransportSession.h b/Swiften/FileTransfer/S5BTransportSession.h
index 87fc5c1..fd92f2e 100644
--- a/Swiften/FileTransfer/S5BTransportSession.h
+++ b/Swiften/FileTransfer/S5BTransportSession.h
@@ -8,62 +8,62 @@
#include <boost/bind.hpp>
#include <boost/signals2.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/FileTransfer/ReadBytestream.h>
#include <Swiften/FileTransfer/TransportSession.h>
#include <Swiften/FileTransfer/WriteBytestream.h>
namespace Swift {
template <typename T>
class SWIFTEN_API S5BTransportSession : public TransportSession {
public:
S5BTransportSession(
std::shared_ptr<T> session,
std::shared_ptr<ReadBytestream> readStream) :
session(session),
readStream(readStream) {
initialize();
}
S5BTransportSession(
std::shared_ptr<T> session,
std::shared_ptr<WriteBytestream> writeStream) :
session(session),
writeStream(writeStream) {
initialize();
}
- virtual ~S5BTransportSession() SWIFTEN_OVERRIDE {
+ virtual ~S5BTransportSession() override {
}
- virtual void start() SWIFTEN_OVERRIDE {
+ virtual void start() override {
if (readStream) {
session->startSending(readStream);
}
else {
session->startReceiving(writeStream);
}
}
- virtual void stop() SWIFTEN_OVERRIDE {
+ virtual void stop() 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:
std::shared_ptr<T> session;
std::shared_ptr<ReadBytestream> readStream;
std::shared_ptr<WriteBytestream> writeStream;
boost::signals2::scoped_connection finishedConnection;
boost::signals2::scoped_connection bytesSentConnection;
};
}
diff --git a/Swiften/FileTransfer/TransportSession.h b/Swiften/FileTransfer/TransportSession.h
index dc6e59a..2d56517 100644
--- a/Swiften/FileTransfer/TransportSession.h
+++ b/Swiften/FileTransfer/TransportSession.h
@@ -1,26 +1,25 @@
/*
- * Copyright (c) 2013-2016 Isode Limited.
+ * Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <boost/signals2.hpp>
#include <Swiften/Base/API.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/FileTransfer/FileTransferError.h>
namespace Swift {
class SWIFTEN_API TransportSession {
public:
virtual ~TransportSession();
virtual void start() = 0;
virtual void stop() = 0;
boost::signals2::signal<void (size_t)> onBytesSent;
boost::signals2::signal<void (boost::optional<FileTransferError>)> onFinished;
};
}
diff --git a/Swiften/FileTransfer/UnitTest/DummyFileTransferManager.h b/Swiften/FileTransfer/UnitTest/DummyFileTransferManager.h
index 03e2476..6119658 100644
--- a/Swiften/FileTransfer/UnitTest/DummyFileTransferManager.h
+++ b/Swiften/FileTransfer/UnitTest/DummyFileTransferManager.h
@@ -1,56 +1,55 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
- * Copyright (c) 2016 Isode Limited.
+ * Copyright (c) 2016-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
#include <string>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/filesystem/path.hpp>
-#include <Swiften/Base/Override.h>
#include <Swiften/FileTransfer/FileTransferManager.h>
namespace Swift {
class S5BProxyRequest;
class FileTransferOptions;
class DummyFileTransferManager : public FileTransferManager {
public:
DummyFileTransferManager() : FileTransferManager() {
}
virtual OutgoingFileTransfer::ref createOutgoingFileTransfer(
const JID&,
const boost::filesystem::path&,
const std::string&,
std::shared_ptr<ReadBytestream>,
- const FileTransferOptions&) SWIFTEN_OVERRIDE {
+ const FileTransferOptions&) override {
return OutgoingFileTransfer::ref();
}
virtual OutgoingFileTransfer::ref createOutgoingFileTransfer(
const JID&,
const std::string&,
const std::string&,
const boost::uintmax_t,
const boost::posix_time::ptime&,
std::shared_ptr<ReadBytestream>,
- const FileTransferOptions&) SWIFTEN_OVERRIDE {
+ const FileTransferOptions&) override {
return OutgoingFileTransfer::ref();
}
virtual void addS5BProxy(std::shared_ptr<S5BProxyRequest>) {
}
};
}
diff --git a/Swiften/FileTransfer/UnitTest/IncomingJingleFileTransferTest.cpp b/Swiften/FileTransfer/UnitTest/IncomingJingleFileTransferTest.cpp
index 72b933d..9793b87 100644
--- a/Swiften/FileTransfer/UnitTest/IncomingJingleFileTransferTest.cpp
+++ b/Swiften/FileTransfer/UnitTest/IncomingJingleFileTransferTest.cpp
@@ -1,51 +1,50 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
- * Copyright (c) 2013-2016 Isode Limited.
+ * Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#include <iostream>
#include <memory>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <Swiften/Base/ByteArray.h>
#include <Swiften/Base/Log.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Client/DummyStanzaChannel.h>
#include <Swiften/Crypto/CryptoProvider.h>
#include <Swiften/Crypto/PlatformCryptoProvider.h>
#include <Swiften/Elements/IBB.h>
#include <Swiften/Elements/JingleFileTransferDescription.h>
#include <Swiften/Elements/JingleIBBTransportPayload.h>
#include <Swiften/Elements/JingleS5BTransportPayload.h>
#include <Swiften/EventLoop/DummyEventLoop.h>
#include <Swiften/FileTransfer/ByteArrayWriteBytestream.h>
#include <Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h>
#include <Swiften/FileTransfer/IncomingJingleFileTransfer.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamProxiesManager.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamServerManager.h>
#include <Swiften/Jingle/FakeJingleSession.h>
#include <Swiften/Network/DummyConnectionFactory.h>
#include <Swiften/Network/DummyConnectionServerFactory.h>
#include <Swiften/Network/DummyTimerFactory.h>
#include <Swiften/Network/NATTraverser.h>
#include <Swiften/Network/PlatformNATTraversalWorker.h>
#include <Swiften/Network/PlatformNetworkEnvironment.h>
#include <Swiften/Network/StaticDomainNameResolver.h>
#include <Swiften/Queries/IQRouter.h>
using namespace Swift;
class IncomingJingleFileTransferTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(IncomingJingleFileTransferTest);
CPPUNIT_TEST(test_AcceptOnyIBBSendsSessionAccept);
CPPUNIT_TEST(test_OnlyIBBTransferReceiveWorks);
diff --git a/Swiften/FileTransfer/UnitTest/OutgoingJingleFileTransferTest.cpp b/Swiften/FileTransfer/UnitTest/OutgoingJingleFileTransferTest.cpp
index 3f4d20f..a0fe057 100644
--- a/Swiften/FileTransfer/UnitTest/OutgoingJingleFileTransferTest.cpp
+++ b/Swiften/FileTransfer/UnitTest/OutgoingJingleFileTransferTest.cpp
@@ -1,54 +1,53 @@
/*
* Copyright (c) 2011 Tobias Markmann
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
/*
- * Copyright (c) 2013-2016 Isode Limited.
+ * Copyright (c) 2013-2017 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#include <iostream>
#include <memory>
#include <boost/bind.hpp>
#include <boost/optional.hpp>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <Swiften/Base/ByteArray.h>
#include <Swiften/Base/IDGenerator.h>
-#include <Swiften/Base/Override.h>
#include <Swiften/Client/DummyStanzaChannel.h>
#include <Swiften/Crypto/CryptoProvider.h>
#include <Swiften/Crypto/PlatformCryptoProvider.h>
#include <Swiften/Elements/IBB.h>
#include <Swiften/Elements/JingleFileTransferDescription.h>
#include <Swiften/Elements/JingleIBBTransportPayload.h>
#include <Swiften/Elements/JingleS5BTransportPayload.h>
#include <Swiften/EventLoop/DummyEventLoop.h>
#include <Swiften/FileTransfer/ByteArrayReadBytestream.h>
#include <Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h>
#include <Swiften/FileTransfer/OutgoingJingleFileTransfer.h>
#include <Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamProxiesManager.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h>
#include <Swiften/FileTransfer/SOCKS5BytestreamServerManager.h>
#include <Swiften/FileTransfer/UnitTest/DummyFileTransferTransporterFactory.h>
#include <Swiften/Jingle/FakeJingleSession.h>
#include <Swiften/Network/ConnectionFactory.h>
#include <Swiften/Network/DummyConnection.h>
#include <Swiften/Network/DummyConnectionFactory.h>
#include <Swiften/Network/DummyConnectionServer.h>
#include <Swiften/Network/DummyConnectionServerFactory.h>
#include <Swiften/Network/DummyTimerFactory.h>
#include <Swiften/Network/PlatformNATTraversalWorker.h>
#include <Swiften/Network/PlatformNetworkEnvironment.h>
#include <Swiften/Queries/IQRouter.h>
using namespace Swift;
class OutgoingJingleFileTransferTest : public CppUnit::TestFixture {