/* * 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 #include #include #include #include #include namespace Swift { class SOCKS5BytestreamServerManager; class SOCKS5BytestreamProxiesManager; class SOCKS5BytestreamServerInitializeRequest; class JingleS5BTransportPayload; class LocalJingleTransportCandidateGenerator { public: LocalJingleTransportCandidateGenerator( SOCKS5BytestreamServerManager* s5bServerManager, SOCKS5BytestreamProxiesManager* s5bProxy, const JID& ownJID, IDGenerator* idGenerator); virtual ~LocalJingleTransportCandidateGenerator(); virtual void start(); virtual void stop(); boost::signal&)> onLocalTransportCandidatesGenerated; private: void handleS5BServerInitialized(bool success); void checkS5BCandidatesReady(); private: SOCKS5BytestreamServerManager* s5bServerManager; SOCKS5BytestreamProxiesManager* s5bProxy; JID ownJID; IDGenerator* idGenerator; boost::shared_ptr s5bServerInitializeRequest; }; }