summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/TLS/PlatformTLSFactories.cpp')
-rw-r--r--Swiften/TLS/PlatformTLSFactories.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/Swiften/TLS/PlatformTLSFactories.cpp b/Swiften/TLS/PlatformTLSFactories.cpp
new file mode 100644
index 0000000..e642758
--- /dev/null
+++ b/Swiften/TLS/PlatformTLSFactories.cpp
@@ -0,0 +1,39 @@
+/*
+ * 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/PlatformTLSFactories.h"
+
+#include <cstring>
+#include <cassert>
+
+#ifdef HAVE_OPENSSL
+#include "Swiften/TLS/OpenSSL/OpenSSLContextFactory.h"
+#include "Swiften/TLS/OpenSSL/OpenSSLCertificateFactory.h"
+#endif
+
+namespace Swift {
+
+PlatformTLSFactories::PlatformTLSFactories() : contextFactory(NULL), certificateFactory(NULL) {
+#ifdef HAVE_OPENSSL
+ contextFactory = new OpenSSLContextFactory();
+ certificateFactory = new OpenSSLCertificateFactory();
+#endif
+}
+
+PlatformTLSFactories::~PlatformTLSFactories() {
+ delete contextFactory;
+ delete certificateFactory;
+}
+
+TLSContextFactory* PlatformTLSFactories::getTLSContextFactory() const {
+ return contextFactory;
+}
+
+CertificateFactory* PlatformTLSFactories::getCertificateFactory() const {
+ return certificateFactory;
+}
+
+}