summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h')
-rw-r--r--Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h b/Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h
index c5ad72a..1c24497 100644
--- a/Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h
+++ b/Swiften/FileTransfer/SOCKS5BytestreamProxyFinder.h
@@ -14,13 +14,12 @@
#pragma once
#include <boost/shared_ptr.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/Disco/DiscoServiceWalker.h>
-#include <Swiften/Network/HostAddressPort.h>
#include <Swiften/Elements/S5BProxyRequest.h>
namespace Swift {
class JID;
class IQRouter;
@@ -34,21 +33,24 @@ class SWIFTEN_API SOCKS5BytestreamProxyFinder {
SOCKS5BytestreamProxyFinder(const JID& service, IQRouter *iqRouter);
~SOCKS5BytestreamProxyFinder();
void start();
void stop();
- boost::signal<void(boost::shared_ptr<S5BProxyRequest>)> onProxyFound;
+ boost::signal<void(std::vector<boost::shared_ptr<S5BProxyRequest> >)> onProxiesFound;
private:
void sendBytestreamQuery(const JID&);
void handleServiceFound(const JID&, boost::shared_ptr<DiscoInfo>);
- void handleProxyResponse(boost::shared_ptr<S5BProxyRequest>, ErrorPayload::ref);
+ void handleProxyResponse(boost::shared_ptr<GenericRequest<S5BProxyRequest> > requester, boost::shared_ptr<S5BProxyRequest>, ErrorPayload::ref);
+ void handleWalkEnded();
+
private:
JID service;
IQRouter* iqRouter;
boost::shared_ptr<DiscoServiceWalker> serviceWalker;
- std::vector<boost::shared_ptr<GenericRequest<S5BProxyRequest> > > requests;
- };
+ std::vector<S5BProxyRequest::ref> proxyHosts;
+ std::set<boost::shared_ptr<GenericRequest<S5BProxyRequest> > > pendingRequests;
+};
}