diff options
Diffstat (limited to 'Swift/Controllers/FileTransfer')
-rw-r--r-- | Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.cpp | 53 | ||||
-rw-r--r-- | Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.h | 38 |
2 files changed, 0 insertions, 91 deletions
diff --git a/Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.cpp b/Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.cpp deleted file mode 100644 index da0606c..0000000 --- a/Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2011 Tobias Markmann - * Licensed under the simplified BSD license. - * See Documentation/Licenses/BSD-simplified.txt for more information. - */ - -#include "SOCKS5BytestreamProxyFinder.h" - -#include <boost/smart_ptr/make_shared.hpp> -#include <boost/bind.hpp> - -#include <Swiften/Base/Log.h> -#include <Swiften/Elements/S5BProxyRequest.h> -#include <Swiften/Queries/GenericRequest.h> -#include <Swiften/Queries/IQRouter.h> - -namespace Swift { - -SOCKS5BytestreamProxyFinder::SOCKS5BytestreamProxyFinder(const JID& service, IQRouter *iqRouter) : iqRouter(iqRouter) { - serviceWalker = boost::make_shared<DiscoServiceWalker>(service, iqRouter); - serviceWalker->onServiceFound.connect(boost::bind(&SOCKS5BytestreamProxyFinder::handleServiceFound, this, _1, _2)); -} - -void SOCKS5BytestreamProxyFinder::start() { - serviceWalker->beginWalk(); -} - -void SOCKS5BytestreamProxyFinder::sendBytestreamQuery(const JID& jid) { - S5BProxyRequest::ref proxyRequest = boost::make_shared<S5BProxyRequest>(); - boost::shared_ptr<GenericRequest<S5BProxyRequest> > request = boost::make_shared<GenericRequest<S5BProxyRequest> >(IQ::Get, jid, proxyRequest, iqRouter); - request->onResponse.connect(boost::bind(&SOCKS5BytestreamProxyFinder::handleProxyResponse, this, _1, _2)); - request->send(); -} - -void SOCKS5BytestreamProxyFinder::handleServiceFound(const JID& jid, boost::shared_ptr<DiscoInfo> discoInfo) { - if (discoInfo->hasFeature(DiscoInfo::Bytestream)) { - sendBytestreamQuery(jid); - } -} - -void SOCKS5BytestreamProxyFinder::handleProxyResponse(boost::shared_ptr<S5BProxyRequest> request, ErrorPayload::ref error) { - if (error) { - SWIFT_LOG(debug) << "ERROR" << std::endl; - } else { - if (request) { - onProxyFound(request); - } else { - //assert(false); - } - } -} - -} diff --git a/Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.h b/Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.h deleted file mode 100644 index bffc7a1..0000000 --- a/Swift/Controllers/FileTransfer/SOCKS5BytestreamProxyFinder.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2011 Tobias Markmann - * Licensed under the simplified BSD license. - * See Documentation/Licenses/BSD-simplified.txt for more information. - */ - -#pragma once - -#include <boost/shared_ptr.hpp> - -#include <Swiften/Disco/DiscoServiceWalker.h> -#include <Swiften/Network/HostAddressPort.h> -#include <Swiften/Elements/S5BProxyRequest.h> - -namespace Swift { - -class JID; -class IQRouter; - -class SOCKS5BytestreamProxyFinder { -public: - SOCKS5BytestreamProxyFinder(const JID& service, IQRouter *iqRouter); - void start(); - - boost::signal<void(boost::shared_ptr<S5BProxyRequest>)> onProxyFound; - -private: - void sendBytestreamQuery(const JID&); - - void handleServiceFound(const JID&, boost::shared_ptr<DiscoInfo>); - void handleProxyResponse(boost::shared_ptr<S5BProxyRequest>, ErrorPayload::ref); -private: - boost::shared_ptr<DiscoServiceWalker> serviceWalker; - IQRouter* iqRouter; - std::vector<boost::shared_ptr<GenericRequest<S5BProxyRequest> > > requests; -}; - -} |