summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/StreamStack/TLSLayer.h')
-rw-r--r--Swiften/StreamStack/TLSLayer.h58
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_;
+ };
}