diff options
| author | Remko Tronçon <git@el-tramo.be> | 2012-12-25 14:39:48 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2013-05-11 10:22:56 (GMT) | 
| commit | 927d62cc54c8a5087dba6b61afa9ad30dc528a23 (patch) | |
| tree | e67dc911bd30c0519d31a542d8e085bbb209879d /Swiften/FileTransfer/FileTransferManagerImpl.h | |
| parent | 17b188343e7208b875af7af30d94f0bf948f6b93 (diff) | |
| download | swift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.zip swift-927d62cc54c8a5087dba6b61afa9ad30dc528a23.tar.bz2 | |
File Transfer refactoring.
Allocate S5B server lazily.
Forward forts lazily.
Various state machine fixes.
Temporarily disabling S5B proxy support.
Change-Id: I3145e85a99b15a7e457306bbfbe9c0eb570191e4
Diffstat (limited to 'Swiften/FileTransfer/FileTransferManagerImpl.h')
| -rw-r--r-- | Swiften/FileTransfer/FileTransferManagerImpl.h | 65 | 
1 files changed, 41 insertions, 24 deletions
| diff --git a/Swiften/FileTransfer/FileTransferManagerImpl.h b/Swiften/FileTransfer/FileTransferManagerImpl.h index d5ef144..addbbd7 100644 --- a/Swiften/FileTransfer/FileTransferManagerImpl.h +++ b/Swiften/FileTransfer/FileTransferManagerImpl.h @@ -19,45 +19,69 @@  #include <boost/date_time/posix_time/posix_time.hpp>  #include <boost/optional.hpp> +#include <Swiften/Base/API.h> +#include <Swiften/Base/Override.h>  #include <Swiften/FileTransfer/FileTransferManager.h> +#include <Swiften/FileTransfer/FileTransferOptions.h>  #include <Swiften/Base/boost_bsignals.h> +#include <Swiften/Base/IDGenerator.h>  #include <Swiften/JID/JID.h>  #include <Swiften/FileTransfer/OutgoingFileTransfer.h>  #include <Swiften/FileTransfer/IncomingFileTransfer.h>  #include <Swiften/Elements/S5BProxyRequest.h>  namespace Swift { -	class Client;  	class ConnectionFactory;  	class ConnectionServerFactory; -	class ConnectivityManager; +	class SOCKS5BytestreamServerManager;  	class EntityCapsProvider;  	class IQRouter;  	class IncomingFileTransferManager;  	class JingleSessionManager; -	class LocalJingleTransportCandidateGeneratorFactory;  	class OutgoingFileTransferManager;  	class NATTraverser;  	class PresenceOracle;  	class ReadBytestream; -	class RemoteJingleTransportCandidateSelectorFactory; +	class FileTransferTransporterFactory;  	class SOCKS5BytestreamRegistry; -	class SOCKS5BytestreamServer; -	class SOCKS5BytestreamProxy; +	class SOCKS5BytestreamProxiesManager;  	class TimerFactory; -	class SOCKS5BytestreamProxyFinder;  	class CryptoProvider; +	class NetworkEnvironment; -	class FileTransferManagerImpl : public FileTransferManager { +	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, NATTraverser* natTraverser, CryptoProvider* crypto); +			FileTransferManagerImpl( +					const JID& ownFullJID,  +					JingleSessionManager* jingleSessionManager,  +					IQRouter* router,  +					EntityCapsProvider* capsProvider,  +					PresenceOracle* presOracle,  +					ConnectionFactory* connectionFactory, +					ConnectionServerFactory* connectionServerFactory, +					TimerFactory* timerFactory,  +					NetworkEnvironment* networkEnvironment, +					NATTraverser* natTraverser, +					CryptoProvider* crypto);  			~FileTransferManagerImpl(); -			void startListeningOnPort(int port); -			void addS5BProxy(S5BProxyRequest::ref proxy); +			OutgoingFileTransfer::ref createOutgoingFileTransfer( +					const JID& to,  +					const boost::filesystem::path& filepath,  +					const std::string& description,  +					boost::shared_ptr<ReadBytestream> bytestream, +					const FileTransferOptions&) SWIFTEN_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,  +					boost::shared_ptr<ReadBytestream> bytestream, +					const FileTransferOptions&) SWIFTEN_OVERRIDE; -			OutgoingFileTransfer::ref createOutgoingFileTransfer(const JID& to, const boost::filesystem::path& filepath, const std::string& description, boost::shared_ptr<ReadBytestream> bytestream); -			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, boost::shared_ptr<ReadBytestream> bytestream); +			void start(); +			void stop();  		private:  			boost::optional<JID> highestPriorityJIDSupportingFileTransfer(const JID& bareJID); @@ -67,20 +91,13 @@ namespace Swift {  			OutgoingFileTransferManager* outgoingFTManager;  			IncomingFileTransferManager* incomingFTManager; -			RemoteJingleTransportCandidateSelectorFactory* remoteCandidateSelectorFactory; -			LocalJingleTransportCandidateGeneratorFactory* localCandidateGeneratorFactory; -			JingleSessionManager* jingleSM; +			FileTransferTransporterFactory* transporterFactory;  			IQRouter* iqRouter;  			EntityCapsProvider* capsProvider;  			PresenceOracle* presenceOracle; - -			ConnectionServerFactory* connectionServerFactory; -			CryptoProvider* crypto; +			IDGenerator idGenerator;  			SOCKS5BytestreamRegistry* bytestreamRegistry; -			SOCKS5BytestreamServer* bytestreamServer; -			SOCKS5BytestreamProxy* bytestreamProxy; -			ConnectivityManager* connectivityManager; -			SOCKS5BytestreamProxyFinder* s5bProxyFinder; +			SOCKS5BytestreamProxiesManager* bytestreamProxy; +			SOCKS5BytestreamServerManager* s5bServerManager;  	}; -  } | 
 Swift
 Swift