diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-11-07 10:41:22 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-11-07 10:41:22 (GMT) | 
| commit | 52c716c657cf4f5b0a5767f59dc7ddb04261f534 (patch) | |
| tree | 37d62ff65227746c184fbb0eac011d0577f199d7 /Swiften/TLS/OpenSSL | |
| parent | bec14a3e051a97f543175a8bdcc2c1c6fd18ce77 (diff) | |
| download | swift-52c716c657cf4f5b0a5767f59dc7ddb04261f534.zip swift-52c716c657cf4f5b0a5767f59dc7ddb04261f534.tar.bz2 | |
Refactored TLS handling.
TLSLayer is now independent of TLS implementation. The implementation-specifics are now in TLSContext and TLSContextFactory.
Diffstat (limited to 'Swiften/TLS/OpenSSL')
| -rw-r--r-- | Swiften/TLS/OpenSSL/OpenSSLContext.h | 9 | ||||
| -rw-r--r-- | Swiften/TLS/OpenSSL/OpenSSLContextFactory.cpp | 20 | ||||
| -rw-r--r-- | Swiften/TLS/OpenSSL/OpenSSLContextFactory.h | 17 | 
3 files changed, 39 insertions, 7 deletions
| diff --git a/Swiften/TLS/OpenSSL/OpenSSLContext.h b/Swiften/TLS/OpenSSL/OpenSSLContext.h index eea8301..a01e3e5 100644 --- a/Swiften/TLS/OpenSSL/OpenSSLContext.h +++ b/Swiften/TLS/OpenSSL/OpenSSLContext.h @@ -10,12 +10,13 @@  #include "Swiften/Base/boost_bsignals.h"  #include <boost/noncopyable.hpp> +#include "Swiften/TLS/TLSContext.h"  #include "Swiften/Base/ByteArray.h"  namespace Swift {  	class PKCS12Certificate; -	class OpenSSLContext : boost::noncopyable { +	class OpenSSLContext : public TLSContext, boost::noncopyable {  		public:  			OpenSSLContext();  			~OpenSSLContext(); @@ -26,12 +27,6 @@ namespace Swift {  			void handleDataFromNetwork(const ByteArray&);  			void handleDataFromApplication(const ByteArray&); -		public: -			boost::signal<void (const ByteArray&)> onDataForNetwork; -			boost::signal<void (const ByteArray&)> onDataForApplication; -			boost::signal<void ()> onError; -			boost::signal<void ()> onConnected; -  		private:  			static void ensureLibraryInitialized();	 diff --git a/Swiften/TLS/OpenSSL/OpenSSLContextFactory.cpp b/Swiften/TLS/OpenSSL/OpenSSLContextFactory.cpp new file mode 100644 index 0000000..f975df7 --- /dev/null +++ b/Swiften/TLS/OpenSSL/OpenSSLContextFactory.cpp @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include "Swiften/TLS/OpenSSL/OpenSSLContextFactory.h" +#include "Swiften/TLS/OpenSSL/OpenSSLContext.h" + +namespace Swift { + +bool OpenSSLContextFactory::canCreate() const { +	return true; +} + +TLSContext* OpenSSLContextFactory::createTLSContext() { +	return new OpenSSLContext(); +} + +} diff --git a/Swiften/TLS/OpenSSL/OpenSSLContextFactory.h b/Swiften/TLS/OpenSSL/OpenSSLContextFactory.h new file mode 100644 index 0000000..cf982c0 --- /dev/null +++ b/Swiften/TLS/OpenSSL/OpenSSLContextFactory.h @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include "Swiften/TLS/TLSContextFactory.h" + +namespace Swift { +	class OpenSSLContextFactory : public TLSContextFactory { +		public: +			bool canCreate() const; +			virtual TLSContext* createTLSContext(); +	}; +} | 
 Swift
 Swift