diff options
Diffstat (limited to 'Swiften/StreamStack/TLSLayer.h')
-rw-r--r-- | Swiften/StreamStack/TLSLayer.h | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/Swiften/StreamStack/TLSLayer.h b/Swiften/StreamStack/TLSLayer.h index 24978e0..89588e3 100644 --- a/Swiften/StreamStack/TLSLayer.h +++ b/Swiften/StreamStack/TLSLayer.h @@ -1,46 +1,50 @@ /* - * 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-2018 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ -#include <Swiften/Base/boost_bsignals.h> +#pragma once +#include <boost/signals2.hpp> + +#include <Swiften/Base/API.h> #include <Swiften/Base/SafeByteArray.h> #include <Swiften/StreamStack/StreamLayer.h> #include <Swiften/TLS/Certificate.h> -#include <Swiften/TLS/CertificateWithKey.h> #include <Swiften/TLS/CertificateVerificationError.h> +#include <Swiften/TLS/CertificateWithKey.h> #include <Swiften/TLS/TLSError.h> +#include <Swiften/TLS/TLSOptions.h> namespace Swift { - class TLSContext; - class TLSContextFactory; + class TLSContext; + class TLSContextFactory; - class TLSLayer : public StreamLayer { - public: - TLSLayer(TLSContextFactory*); - ~TLSLayer(); + class SWIFTEN_API TLSLayer : public StreamLayer { + public: + TLSLayer(std::unique_ptr<TLSContext> tlsContext); + virtual ~TLSLayer(); - void connect(); - bool setClientCertificate(CertificateWithKey::ref cert); + void connect(); + bool setClientCertificate(CertificateWithKey::ref cert); - Certificate::ref getPeerCertificate() const; - std::vector<Certificate::ref> getPeerCertificateChain() const; - boost::shared_ptr<CertificateVerificationError> getPeerCertificateVerificationError() const; + Certificate::ref getPeerCertificate() const; + std::vector<Certificate::ref> getPeerCertificateChain() const; + std::shared_ptr<CertificateVerificationError> getPeerCertificateVerificationError() const; - void writeData(const SafeByteArray& data); - void handleDataRead(const SafeByteArray& data); + void writeData(const SafeByteArray& data); + void handleDataRead(const SafeByteArray& data); - TLSContext* getContext() const { - return context; - } + TLSContext* getContext() const { + return context_.get(); + } - public: - boost::signal<void (boost::shared_ptr<TLSError>)> onError; - boost::signal<void ()> onConnected; + public: + boost::signals2::signal<void (std::shared_ptr<TLSError>)> onError; + boost::signals2::signal<void ()> onConnected; - private: - TLSContext* context; - }; + private: + std::unique_ptr<TLSContext> context_; + }; } |