diff options
| author | Nick Hudson <nick.hudson@isode.com> | 2014-02-07 16:33:32 (GMT) |
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2014-03-22 22:17:19 (GMT) |
| commit | 0bb2f5b6e811842c52500eef6685cc64367bd611 (patch) | |
| tree | 744b5c8d2ee6e873fecb282ac9e79f65acf75b22 /Swiften/Network/ChainedConnector.h | |
| parent | 01a76f36fe0e2ad5ea778a3ece63f39866c50362 (diff) | |
| download | swift-contrib-0bb2f5b6e811842c52500eef6685cc64367bd611.zip swift-contrib-0bb2f5b6e811842c52500eef6685cc64367bd611.tar.bz2 | |
Move hardcoded XMPP SRV information from Connector into CoreClient
The Connector class had "_xmpp-client._tcp." hard-coded in it, which meant
that it was not suitable for non-XMPP clients.
This change means that the Connector can now be used by clients who
are interested in arbitrary SRV records; the CoreClient class is updated
accordingly.
Test-information:
Built and ran Swift - seems to work as expected
Ran unit-tests ("scons test=unit") - reports OK
Change-Id: I0fea9aa90f5d1d5e3a4b90f3362b663fe9d8e207
Diffstat (limited to 'Swiften/Network/ChainedConnector.h')
| -rw-r--r-- | Swiften/Network/ChainedConnector.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Swiften/Network/ChainedConnector.h b/Swiften/Network/ChainedConnector.h index 03462bc..0a1cca9 100644 --- a/Swiften/Network/ChainedConnector.h +++ b/Swiften/Network/ChainedConnector.h @@ -4,49 +4,50 @@ * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include <string> #include <vector> #include <deque> #include <boost/shared_ptr.hpp> +#include <boost/optional.hpp> #include <Swiften/Base/API.h> #include <Swiften/Base/boost_bsignals.h> #include <Swiften/Base/Error.h> namespace Swift { class Connection; class Connector; class ConnectionFactory; class TimerFactory; class DomainNameResolver; class SWIFTEN_API ChainedConnector { public: - ChainedConnector(const std::string& hostname, int port, bool doServiceLookups, DomainNameResolver*, const std::vector<ConnectionFactory*>&, TimerFactory*); + ChainedConnector(const std::string& hostname, int port, const boost::optional<std::string>& serviceLookupPrefix, DomainNameResolver*, const std::vector<ConnectionFactory*>&, TimerFactory*); void setTimeoutMilliseconds(int milliseconds); void start(); void stop(); boost::signal<void (boost::shared_ptr<Connection>, boost::shared_ptr<Error>)> onConnectFinished; private: void finish(boost::shared_ptr<Connection> connection, boost::shared_ptr<Error>); void tryNextConnectionFactory(); void handleConnectorFinished(boost::shared_ptr<Connection>, boost::shared_ptr<Error>); private: std::string hostname; int port; - bool doServiceLookups; + boost::optional<std::string> serviceLookupPrefix; DomainNameResolver* resolver; std::vector<ConnectionFactory*> connectionFactories; TimerFactory* timerFactory; int timeoutMilliseconds; std::deque<ConnectionFactory*> connectionFactoryQueue; boost::shared_ptr<Connector> currentConnector; boost::shared_ptr<Error> lastError; }; } |
Swift