diff options
Diffstat (limited to 'Swiften/LinkLocal/LinkLocalConnector.h')
-rw-r--r-- | Swiften/LinkLocal/LinkLocalConnector.h | 105 |
1 files changed, 51 insertions, 54 deletions
diff --git a/Swiften/LinkLocal/LinkLocalConnector.h b/Swiften/LinkLocal/LinkLocalConnector.h index 52692ef..044b74f 100644 --- a/Swiften/LinkLocal/LinkLocalConnector.h +++ b/Swiften/LinkLocal/LinkLocalConnector.h @@ -1,66 +1,63 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2017 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once -#include <boost/shared_ptr.hpp> -#include <Swiften/Base/boost_bsignals.h> -#include <boost/enable_shared_from_this.hpp> +#include <memory> #include <vector> +#include <boost/signals2.hpp> + #include <Swiften/Base/API.h> -#include <Swiften/Network/Connection.h> #include <Swiften/LinkLocal/LinkLocalService.h> +#include <Swiften/Network/Connection.h> namespace Swift { - class ConnectionFactory; - class HostAddress; - class Element; - class PayloadParserFactoryCollection; - class PayloadSerializerCollection; - class DNSSDQuerier; - class DNSSDResolveHostnameQuery; - - class SWIFTEN_API LinkLocalConnector : public boost::enable_shared_from_this<LinkLocalConnector> { - public: - LinkLocalConnector( - const LinkLocalService& service, - boost::shared_ptr<DNSSDQuerier> querier, - boost::shared_ptr<Connection> connection); - ~LinkLocalConnector(); - - const LinkLocalService& getService() const { - return service; - } - - void connect(); - void cancel(); - void queueElement(boost::shared_ptr<Element> element); - - const std::vector<boost::shared_ptr<Element> >& getQueuedElements() const { - return queuedElements; - } - - boost::shared_ptr<Connection> getConnection() const { - return connection; - } - - boost::signal<void (bool)> onConnectFinished; - - private: - void handleHostnameResolved(const boost::optional<HostAddress>& address); - void handleConnected(bool error); - - private: - LinkLocalService service; - boost::shared_ptr<DNSSDQuerier> querier; - boost::shared_ptr<DNSSDResolveHostnameQuery> resolveQuery; - boost::bsignals::connection resolveQueryHostNameResolvedConnection; - boost::shared_ptr<Connection> connection; - boost::bsignals::connection connectionConnectFinishedConnection; - std::vector<boost::shared_ptr<Element> > queuedElements; - }; + class DNSSDQuerier; + class DNSSDResolveHostnameQuery; + class HostAddress; + class ToplevelElement; + + class SWIFTEN_API LinkLocalConnector : public std::enable_shared_from_this<LinkLocalConnector> { + public: + LinkLocalConnector( + const LinkLocalService& service, + std::shared_ptr<DNSSDQuerier> querier, + std::shared_ptr<Connection> connection); + ~LinkLocalConnector(); + + const LinkLocalService& getService() const { + return service; + } + + void connect(); + void cancel(); + void queueElement(std::shared_ptr<ToplevelElement> element); + + const std::vector<std::shared_ptr<ToplevelElement> >& getQueuedElements() const { + return queuedElements; + } + + std::shared_ptr<Connection> getConnection() const { + return connection; + } + + boost::signals2::signal<void (bool)> onConnectFinished; + + private: + void handleHostnameResolved(const boost::optional<HostAddress>& address); + void handleConnected(bool error); + + private: + LinkLocalService service; + std::shared_ptr<DNSSDQuerier> querier; + std::shared_ptr<DNSSDResolveHostnameQuery> resolveQuery; + boost::signals2::connection resolveQueryHostNameResolvedConnection; + std::shared_ptr<Connection> connection; + boost::signals2::connection connectionConnectFinishedConnection; + std::vector<std::shared_ptr<ToplevelElement> > queuedElements; + }; } |