diff options
Diffstat (limited to 'Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h')
-rw-r--r-- | Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h | 81 |
1 files changed, 40 insertions, 41 deletions
diff --git a/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h b/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h index 342655c..c4257f6 100644 --- a/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h +++ b/Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h @@ -5,59 +5,58 @@ */ /* - * Copyright (c) 2013-2015 Isode Limited. + * Copyright (c) 2013-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once +#include <Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h> + +#include <memory> #include <queue> #include <vector> -#include <boost/shared_ptr.hpp> - #include <Swiften/Base/Override.h> -#include <Swiften/JID/JID.h> -#include <Swiften/Network/Connection.h> -#include <Swiften/FileTransfer/SOCKS5BytestreamClientSession.h> -#include <Swiften/FileTransfer/RemoteJingleTransportCandidateSelector.h> #include <Swiften/Elements/JingleS5BTransportPayload.h> #include <Swiften/FileTransfer/FileTransferOptions.h> - +#include <Swiften/FileTransfer/SOCKS5BytestreamClientSession.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Network/Connection.h> namespace Swift { - class ConnectionFactory; - class TimerFactory; - - class RemoteJingleTransportCandidateSelector { - public: - RemoteJingleTransportCandidateSelector(ConnectionFactory*, TimerFactory*, const FileTransferOptions&); - virtual ~RemoteJingleTransportCandidateSelector(); - - virtual void addCandidates(const std::vector<JingleS5BTransportPayload::Candidate>&); - virtual void setSOCKS5DstAddr(const std::string&); - virtual void startSelectingCandidate(); - virtual void stopSelectingCandidate(); - - boost::signal<void (const boost::optional<JingleS5BTransportPayload::Candidate>&, boost::shared_ptr<SOCKS5BytestreamClientSession>)> onCandidateSelectFinished; - - private: - void tryNextCandidate(); - void handleSessionReady(bool error); - - private: - ConnectionFactory* connectionFactory; - TimerFactory* timerFactory; - - std::priority_queue< - JingleS5BTransportPayload::Candidate, - std::vector<JingleS5BTransportPayload::Candidate>, - JingleS5BTransportPayload::CompareCandidate> candidates; - boost::shared_ptr<SOCKS5BytestreamClientSession> s5bSession; - boost::bsignals::connection sessionReadyConnection; - JingleS5BTransportPayload::Candidate lastCandidate; - std::string socks5DstAddr; - FileTransferOptions options; - }; + class ConnectionFactory; + class TimerFactory; + + class RemoteJingleTransportCandidateSelector { + public: + RemoteJingleTransportCandidateSelector(ConnectionFactory*, TimerFactory*, const FileTransferOptions&); + virtual ~RemoteJingleTransportCandidateSelector(); + + virtual void addCandidates(const std::vector<JingleS5BTransportPayload::Candidate>&); + virtual void setSOCKS5DstAddr(const std::string&); + virtual void startSelectingCandidate(); + virtual void stopSelectingCandidate(); + + boost::signals2::signal<void (const boost::optional<JingleS5BTransportPayload::Candidate>&, std::shared_ptr<SOCKS5BytestreamClientSession>)> onCandidateSelectFinished; + + private: + void tryNextCandidate(); + void handleSessionReady(bool error); + + private: + ConnectionFactory* connectionFactory; + TimerFactory* timerFactory; + + std::priority_queue< + JingleS5BTransportPayload::Candidate, + std::vector<JingleS5BTransportPayload::Candidate>, + JingleS5BTransportPayload::CompareCandidate> candidates; + std::shared_ptr<SOCKS5BytestreamClientSession> s5bSession; + boost::signals2::connection sessionReadyConnection; + JingleS5BTransportPayload::Candidate lastCandidate; + std::string socks5DstAddr; + FileTransferOptions options; + }; } |