summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer/FileTransferManagerImpl.cpp')
-rw-r--r--Swiften/FileTransfer/FileTransferManagerImpl.cpp37
1 files changed, 18 insertions, 19 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
@@ -11,38 +11,38 @@
11 */ 11 */
12 12
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,
47 PresenceOracle* presOracle, 47 PresenceOracle* presOracle,
48 ConnectionFactory* connectionFactory, 48 ConnectionFactory* connectionFactory,
@@ -50,20 +50,17 @@ FileTransferManagerImpl::FileTransferManagerImpl(
50 TimerFactory* timerFactory, 50 TimerFactory* timerFactory,
51 DomainNameResolver* domainNameResolver, 51 DomainNameResolver* domainNameResolver,
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,
68 s5bServerManager, 65 s5bServerManager,
69 bytestreamProxy, 66 bytestreamProxy,
@@ -164,10 +161,12 @@ OutgoingFileTransfer::ref FileTransferManagerImpl::createOutgoingFileTransfer(
164 receipient = fullJID.get(); 161 receipient = fullJID.get();
165 } else { 162 } else {
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}