summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer')
-rw-r--r--Swiften/FileTransfer/FileTransferManagerImpl.cpp37
-rw-r--r--Swiften/FileTransfer/FileTransferManagerImpl.h16
2 files changed, 25 insertions, 28 deletions
diff --git a/Swiften/FileTransfer/FileTransferManagerImpl.cpp b/Swiften/FileTransfer/FileTransferManagerImpl.cpp
index ab08c45..f4f9517 100644
--- a/Swiften/FileTransfer/FileTransferManagerImpl.cpp
+++ b/Swiften/FileTransfer/FileTransferManagerImpl.cpp
@@ -13,34 +13,34 @@
13#include <Swiften/FileTransfer/FileTransferManagerImpl.h> 13#include <Swiften/FileTransfer/FileTransferManagerImpl.h>
14 14
15#include <boost/bind.hpp> 15#include <boost/bind.hpp>
16#include <boost/filesystem.hpp>
17#include <boost/cstdint.hpp> 16#include <boost/cstdint.hpp>
17#include <boost/filesystem.hpp>
18 18
19#include <Swiften/Base/foreach.h> 19#include "Swiften/Disco/EntityCapsProvider.h"
20#include <Swiften/Base/BoostFilesystemVersion.h>
20#include <Swiften/Base/Log.h> 21#include <Swiften/Base/Log.h>
21#include <Swiften/Base/Path.h> 22#include <Swiften/Base/Path.h>
22#include "Swiften/Disco/EntityCapsProvider.h" 23#include <Swiften/Base/foreach.h>
23#include <Swiften/JID/JID.h>
24#include <Swiften/Elements/JingleFileTransferFileInfo.h> 24#include <Swiften/Elements/JingleFileTransferFileInfo.h>
25#include <Swiften/FileTransfer/SOCKS5BytestreamServerManager.h> 25#include <Swiften/Elements/Presence.h>
26#include <Swiften/FileTransfer/OutgoingFileTransferManager.h>
27#include <Swiften/FileTransfer/IncomingFileTransferManager.h>
28#include <Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h> 26#include <Swiften/FileTransfer/DefaultFileTransferTransporterFactory.h>
29#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h> 27#include <Swiften/FileTransfer/IncomingFileTransferManager.h>
28#include <Swiften/FileTransfer/OutgoingFileTransferManager.h>
30#include <Swiften/FileTransfer/SOCKS5BytestreamProxiesManager.h> 29#include <Swiften/FileTransfer/SOCKS5BytestreamProxiesManager.h>
31#include <Swiften/Presence/PresenceOracle.h> 30#include <Swiften/FileTransfer/SOCKS5BytestreamRegistry.h>
32#include <Swiften/Elements/Presence.h> 31#include <Swiften/FileTransfer/SOCKS5BytestreamServerManager.h>
32#include <Swiften/JID/JID.h>
33#include <Swiften/Network/ConnectionFactory.h> 33#include <Swiften/Network/ConnectionFactory.h>
34#include <Swiften/Network/ConnectionServerFactory.h> 34#include <Swiften/Network/ConnectionServerFactory.h>
35#include <Swiften/Network/HostAddress.h> 35#include <Swiften/Network/HostAddress.h>
36#include <Swiften/Network/NATTraverser.h> 36#include <Swiften/Network/NATTraverser.h>
37 37#include <Swiften/Presence/PresenceOracle.h>
38#include <Swiften/Base/BoostFilesystemVersion.h> 38#include <Swiften/Queries/IQRouter.h>
39 39
40namespace Swift { 40namespace Swift {
41 41
42FileTransferManagerImpl::FileTransferManagerImpl( 42FileTransferManagerImpl::FileTransferManagerImpl(
43 const JID& ownFullJID, 43 const JID& ownJID,
44 JingleSessionManager* jingleSessionManager, 44 JingleSessionManager* jingleSessionManager,
45 IQRouter* router, 45 IQRouter* router,
46 EntityCapsProvider* capsProvider, 46 EntityCapsProvider* capsProvider,
@@ -52,16 +52,13 @@ FileTransferManagerImpl::FileTransferManagerImpl(
52 NetworkEnvironment* networkEnvironment, 52 NetworkEnvironment* networkEnvironment,
53 NATTraverser* natTraverser, 53 NATTraverser* natTraverser,
54 CryptoProvider* crypto) : 54 CryptoProvider* crypto) :
55 ownJID(ownFullJID),
56 iqRouter(router), 55 iqRouter(router),
57 capsProvider(capsProvider), 56 capsProvider(capsProvider),
58 presenceOracle(presOracle) { 57 presenceOracle(presOracle) {
59 assert(!ownFullJID.isBare());
60
61 bytestreamRegistry = new SOCKS5BytestreamRegistry(); 58 bytestreamRegistry = new SOCKS5BytestreamRegistry();
62 s5bServerManager = new SOCKS5BytestreamServerManager( 59 s5bServerManager = new SOCKS5BytestreamServerManager(
63 bytestreamRegistry, connectionServerFactory, networkEnvironment, natTraverser); 60 bytestreamRegistry, connectionServerFactory, networkEnvironment, natTraverser);
64 bytestreamProxy = new SOCKS5BytestreamProxiesManager(connectionFactory, timerFactory, domainNameResolver, iqRouter, JID(ownFullJID.getDomain())); 61 bytestreamProxy = new SOCKS5BytestreamProxiesManager(connectionFactory, timerFactory, domainNameResolver, iqRouter, JID(ownJID.getDomain()));
65 62
66 transporterFactory = new DefaultFileTransferTransporterFactory( 63 transporterFactory = new DefaultFileTransferTransporterFactory(
67 bytestreamRegistry, 64 bytestreamRegistry,
@@ -166,8 +163,10 @@ OutgoingFileTransfer::ref FileTransferManagerImpl::createOutgoingFileTransfer(
166 return OutgoingFileTransfer::ref(); 163 return OutgoingFileTransfer::ref();
167 } 164 }
168 } 165 }
169 166
170 return outgoingFTManager->createOutgoingFileTransfer(ownJID, receipient, bytestream, fileInfo, config); 167 assert(!iqRouter->getJID().isBare());
168
169 return outgoingFTManager->createOutgoingFileTransfer(iqRouter->getJID(), receipient, bytestream, fileInfo, config);
171} 170}
172 171
173} 172}
diff --git a/Swiften/FileTransfer/FileTransferManagerImpl.h b/Swiften/FileTransfer/FileTransferManagerImpl.h
index de6e857..7a77564 100644
--- a/Swiften/FileTransfer/FileTransferManagerImpl.h
+++ b/Swiften/FileTransfer/FileTransferManagerImpl.h
@@ -12,23 +12,22 @@
12 12
13#pragma once 13#pragma once
14 14
15#include <vector>
16#include <string> 15#include <string>
16#include <vector>
17 17
18#include <boost/filesystem/path.hpp>
19#include <boost/date_time/posix_time/posix_time.hpp> 18#include <boost/date_time/posix_time/posix_time.hpp>
19#include <boost/filesystem/path.hpp>
20#include <boost/optional.hpp> 20#include <boost/optional.hpp>
21 21
22#include <Swiften/Base/API.h> 22#include <Swiften/Base/API.h>
23#include <Swiften/Base/IDGenerator.h>
23#include <Swiften/Base/Override.h> 24#include <Swiften/Base/Override.h>
25#include <Swiften/Base/boost_bsignals.h>
26#include <Swiften/Elements/S5BProxyRequest.h>
24#include <Swiften/FileTransfer/FileTransferManager.h> 27#include <Swiften/FileTransfer/FileTransferManager.h>
25#include <Swiften/FileTransfer/FileTransferOptions.h> 28#include <Swiften/FileTransfer/FileTransferOptions.h>
26#include <Swiften/Base/boost_bsignals.h>
27#include <Swiften/Base/IDGenerator.h>
28#include <Swiften/JID/JID.h>
29#include <Swiften/FileTransfer/OutgoingFileTransfer.h>
30#include <Swiften/FileTransfer/IncomingFileTransfer.h> 29#include <Swiften/FileTransfer/IncomingFileTransfer.h>
31#include <Swiften/Elements/S5BProxyRequest.h> 30#include <Swiften/FileTransfer/OutgoingFileTransfer.h>
32 31
33namespace Swift { 32namespace Swift {
34 class ConnectionFactory; 33 class ConnectionFactory;
@@ -39,6 +38,7 @@ namespace Swift {
39 class FileTransferTransporterFactory; 38 class FileTransferTransporterFactory;
40 class IQRouter; 39 class IQRouter;
41 class IncomingFileTransferManager; 40 class IncomingFileTransferManager;
41 class JID;
42 class JingleSessionManager; 42 class JingleSessionManager;
43 class NATTraverser; 43 class NATTraverser;
44 class NetworkEnvironment; 44 class NetworkEnvironment;
@@ -89,8 +89,6 @@ namespace Swift {
89 boost::optional<JID> highestPriorityJIDSupportingFileTransfer(const JID& bareJID); 89 boost::optional<JID> highestPriorityJIDSupportingFileTransfer(const JID& bareJID);
90 90
91 private: 91 private:
92 JID ownJID;
93
94 OutgoingFileTransferManager* outgoingFTManager; 92 OutgoingFileTransferManager* outgoingFTManager;
95 IncomingFileTransferManager* incomingFTManager; 93 IncomingFileTransferManager* incomingFTManager;
96 FileTransferTransporterFactory* transporterFactory; 94 FileTransferTransporterFactory* transporterFactory;