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/LocalJingleTransportCandidateGenerator.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/LocalJingleTransportCandidateGenerator.h')
-rw-r--r-- | Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h | 54 |
1 files changed, 38 insertions, 16 deletions
diff --git a/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h b/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h index 474b01d..02dfef5 100644 --- a/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h +++ b/Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h @@ -1,32 +1,54 @@ /* - * Copyright (c) 2011 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2011 Tobias Markmann + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +/* + * Copyright (c) 2013 Remko Tronçon + * Licensed under the GNU General Public License. + * See the COPYING file for more information. */ #pragma once #include <Swiften/Base/boost_bsignals.h> +#include <Swiften/FileTransfer/LocalJingleTransportCandidateGenerator.h> -#include <Swiften/Base/API.h> -#include <Swiften/Elements/JingleTransportPayload.h> -#include <Swiften/FileTransfer/JingleTransport.h> +#include <Swiften/Base/IDGenerator.h> +#include <Swiften/Base/Override.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Elements/JingleS5BTransportPayload.h> namespace Swift { - class SWIFTEN_API LocalJingleTransportCandidateGenerator { + class SOCKS5BytestreamServerManager; + class SOCKS5BytestreamProxiesManager; + class SOCKS5BytestreamServerInitializeRequest; + class JingleS5BTransportPayload; + + class LocalJingleTransportCandidateGenerator { public: + LocalJingleTransportCandidateGenerator( + SOCKS5BytestreamServerManager* s5bServerManager, + SOCKS5BytestreamProxiesManager* s5bProxy, + const JID& ownJID, + IDGenerator* idGenerator); virtual ~LocalJingleTransportCandidateGenerator(); - /** - * Should call onLocalTransportCandidatesGenerated if it has finished discovering local candidates. - */ - virtual void start(JingleTransportPayload::ref) = 0; - virtual void stop() = 0; + virtual void start(); + virtual void stop(); + + boost::signal<void (const std::vector<JingleS5BTransportPayload::Candidate>&)> onLocalTransportCandidatesGenerated; - virtual bool isActualCandidate(JingleTransportPayload::ref) = 0; - virtual int getPriority(JingleTransportPayload::ref) = 0; - virtual JingleTransport::ref selectTransport(JingleTransportPayload::ref) = 0; + private: + void handleS5BServerInitialized(bool success); + void checkS5BCandidatesReady(); - boost::signal<void (JingleTransportPayload::ref)> onLocalTransportCandidatesGenerated; + private: + SOCKS5BytestreamServerManager* s5bServerManager; + SOCKS5BytestreamProxiesManager* s5bProxy; + JID ownJID; + IDGenerator* idGenerator; + boost::shared_ptr<SOCKS5BytestreamServerInitializeRequest> s5bServerInitializeRequest; }; } |