diff options
Diffstat (limited to 'Swiften/FileTransfer')
| -rw-r--r-- | Swiften/FileTransfer/FileTransferManagerImpl.cpp | 37 | ||||
| -rw-r--r-- | Swiften/FileTransfer/FileTransferManagerImpl.h | 16 |
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 | |||
| @@ -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 | ||
| 40 | namespace Swift { | 40 | namespace Swift { |
| 41 | 41 | ||
| 42 | FileTransferManagerImpl::FileTransferManagerImpl( | 42 | FileTransferManagerImpl::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 | } |
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 | |||
| @@ -10,37 +10,37 @@ | |||
| 10 | * See the COPYING file for more information. | 10 | * See the COPYING file for more information. |
| 11 | */ | 11 | */ |
| 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 | ||
| 33 | namespace Swift { | 32 | namespace Swift { |
| 34 | class ConnectionFactory; | 33 | class ConnectionFactory; |
| 35 | class ConnectionServerFactory; | 34 | class ConnectionServerFactory; |
| 36 | class CryptoProvider; | 35 | class CryptoProvider; |
| 37 | class DomainNameResolver; | 36 | class DomainNameResolver; |
| 38 | class EntityCapsProvider; | 37 | class EntityCapsProvider; |
| 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; |
| 45 | class OutgoingFileTransferManager; | 45 | class OutgoingFileTransferManager; |
| 46 | class PresenceOracle; | 46 | class PresenceOracle; |
| @@ -87,12 +87,10 @@ namespace Swift { | |||
| 87 | 87 | ||
| 88 | private: | 88 | private: |
| 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; |
| 97 | IQRouter* iqRouter; | 95 | IQRouter* iqRouter; |
| 98 | EntityCapsProvider* capsProvider; | 96 | EntityCapsProvider* capsProvider; |
Swift