summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Component/ComponentConnector.h')
-rw-r--r--Swiften/Component/ComponentConnector.h81
1 files changed, 41 insertions, 40 deletions
diff --git a/Swiften/Component/ComponentConnector.h b/Swiften/Component/ComponentConnector.h
index e5acdb0..ab36901 100644
--- a/Swiften/Component/ComponentConnector.h
+++ b/Swiften/Component/ComponentConnector.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -7,59 +7,60 @@
#pragma once
#include <deque>
-#include <Swiften/Base/boost_bsignals.h>
-#include <boost/shared_ptr.hpp>
+#include <memory>
+#include <string>
+
+#include <boost/signals2.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/Network/Connection.h>
-#include <Swiften/Network/Timer.h>
-#include <Swiften/Network/HostAddressPort.h>
-#include <string>
#include <Swiften/Network/DomainNameResolveError.h>
+#include <Swiften/Network/HostAddressPort.h>
+#include <Swiften/Network/Timer.h>
namespace Swift {
- class DomainNameAddressQuery;
- class DomainNameResolver;
- class ConnectionFactory;
- class TimerFactory;
+ class DomainNameAddressQuery;
+ class DomainNameResolver;
+ class ConnectionFactory;
+ class TimerFactory;
- class SWIFTEN_API ComponentConnector : public boost::bsignals::trackable, public boost::enable_shared_from_this<ComponentConnector> {
- public:
- typedef boost::shared_ptr<ComponentConnector> ref;
+ class SWIFTEN_API ComponentConnector : public boost::signals2::trackable, public std::enable_shared_from_this<ComponentConnector> {
+ public:
+ typedef std::shared_ptr<ComponentConnector> ref;
- static ComponentConnector::ref create(const std::string& hostname, int port, DomainNameResolver* resolver, ConnectionFactory* connectionFactory, TimerFactory* timerFactory) {
- return ref(new ComponentConnector(hostname, port, resolver, connectionFactory, timerFactory));
- }
+ static ComponentConnector::ref create(const std::string& hostname, int port, DomainNameResolver* resolver, ConnectionFactory* connectionFactory, TimerFactory* timerFactory) {
+ return ref(new ComponentConnector(hostname, port, resolver, connectionFactory, timerFactory));
+ }
- void setTimeoutMilliseconds(int milliseconds);
+ void setTimeoutMilliseconds(int milliseconds);
- void start();
- void stop();
+ void start();
+ void stop();
- boost::signal<void (boost::shared_ptr<Connection>)> onConnectFinished;
+ boost::signals2::signal<void (std::shared_ptr<Connection>)> onConnectFinished;
- private:
- ComponentConnector(const std::string& hostname, int port, DomainNameResolver*, ConnectionFactory*, TimerFactory*);
+ private:
+ ComponentConnector(const std::string& hostname, int port, DomainNameResolver*, ConnectionFactory*, TimerFactory*);
- void handleAddressQueryResult(const std::vector<HostAddress>& address, boost::optional<DomainNameResolveError> error);
- void tryNextAddress();
- void tryConnect(const HostAddressPort& target);
+ void handleAddressQueryResult(const std::vector<HostAddress>& address, boost::optional<DomainNameResolveError> error);
+ void tryNextAddress();
+ void tryConnect(const HostAddressPort& target);
- void handleConnectionConnectFinished(bool error);
- void finish(boost::shared_ptr<Connection>);
- void handleTimeout();
+ void handleConnectionConnectFinished(bool error);
+ void finish(std::shared_ptr<Connection>);
+ void handleTimeout();
- private:
- std::string hostname;
- int port;
- DomainNameResolver* resolver;
- ConnectionFactory* connectionFactory;
- TimerFactory* timerFactory;
- int timeoutMilliseconds;
- boost::shared_ptr<Timer> timer;
- boost::shared_ptr<DomainNameAddressQuery> addressQuery;
- std::deque<HostAddress> addressQueryResults;
- boost::shared_ptr<Connection> currentConnection;
- };
+ private:
+ std::string hostname;
+ int port;
+ DomainNameResolver* resolver;
+ ConnectionFactory* connectionFactory;
+ TimerFactory* timerFactory;
+ int timeoutMilliseconds;
+ std::shared_ptr<Timer> timer;
+ std::shared_ptr<DomainNameAddressQuery> addressQuery;
+ std::deque<HostAddress> addressQueryResults;
+ std::shared_ptr<Connection> currentConnection;
+ };
}