summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Network/BoostNetworkFactories.cpp')
-rw-r--r--Swiften/Network/BoostNetworkFactories.cpp77
1 files changed, 38 insertions, 39 deletions
diff --git a/Swiften/Network/BoostNetworkFactories.cpp b/Swiften/Network/BoostNetworkFactories.cpp
index 72e826a..13a7960 100644
--- a/Swiften/Network/BoostNetworkFactories.cpp
+++ b/Swiften/Network/BoostNetworkFactories.cpp
@@ -1,24 +1,24 @@
/*
- * Copyright (c) 2010-2013 Remko Tronçon
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
+ * Copyright (c) 2010-2019 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
*/
#include <Swiften/Network/BoostNetworkFactories.h>
-#include <Swiften/Network/BoostTimerFactory.h>
-#include <Swiften/Network/BoostConnectionFactory.h>
+#include <Swiften/Crypto/CryptoProvider.h>
+#include <Swiften/Crypto/PlatformCryptoProvider.h>
+#include <Swiften/IDN/IDNConverter.h>
+#include <Swiften/IDN/PlatformIDNConverter.h>
+#include <Swiften/Network/BoostConnectionFactory.h>
#include <Swiften/Network/BoostConnectionServerFactory.h>
-#include <Swiften/Network/PlatformNATTraversalWorker.h>
-#include <Swiften/Parser/PlatformXMLParserFactory.h>
+#include <Swiften/Network/BoostTimerFactory.h>
#include <Swiften/Network/NullNATTraverser.h>
+#include <Swiften/Network/PlatformNATTraversalWorker.h>
#include <Swiften/Network/PlatformNetworkEnvironment.h>
-#include <Swiften/TLS/PlatformTLSFactories.h>
#include <Swiften/Network/PlatformProxyProvider.h>
-#include <Swiften/IDN/PlatformIDNConverter.h>
-#include <Swiften/IDN/IDNConverter.h>
-#include <Swiften/Crypto/PlatformCryptoProvider.h>
-#include <Swiften/Crypto/CryptoProvider.h>
+#include <Swiften/Parser/PlatformXMLParserFactory.h>
+#include <Swiften/TLS/PlatformTLSFactories.h>
#ifdef USE_UNBOUND
#include <Swiften/Network/UnboundDomainNameResolver.h>
@@ -28,45 +28,44 @@
namespace Swift {
-BoostNetworkFactories::BoostNetworkFactories(EventLoop* eventLoop) : eventLoop(eventLoop){
- timerFactory = new BoostTimerFactory(ioServiceThread.getIOService(), eventLoop);
- connectionFactory = new BoostConnectionFactory(ioServiceThread.getIOService(), eventLoop);
- connectionServerFactory = new BoostConnectionServerFactory(ioServiceThread.getIOService(), eventLoop);
+BoostNetworkFactories::BoostNetworkFactories(EventLoop* eventLoop, std::shared_ptr<boost::asio::io_service> ioService) : ioServiceThread(ioService), eventLoop(eventLoop) {
+ timerFactory = new BoostTimerFactory(ioServiceThread.getIOService(), eventLoop);
+ connectionFactory = new BoostConnectionFactory(ioServiceThread.getIOService(), eventLoop);
+ connectionServerFactory = new BoostConnectionServerFactory(ioServiceThread.getIOService(), eventLoop);
#ifdef SWIFT_EXPERIMENTAL_FT
- natTraverser = new PlatformNATTraversalWorker(eventLoop);
+ natTraverser = new PlatformNATTraversalWorker(eventLoop);
#else
- natTraverser = new NullNATTraverser(eventLoop);
+ natTraverser = new NullNATTraverser(eventLoop);
#endif
- networkEnvironment = new PlatformNetworkEnvironment();
- xmlParserFactory = new PlatformXMLParserFactory();
- tlsFactories = new PlatformTLSFactories();
- proxyProvider = new PlatformProxyProvider();
- idnConverter = PlatformIDNConverter::create();
+ networkEnvironment = new PlatformNetworkEnvironment();
+ xmlParserFactory = new PlatformXMLParserFactory();
+ tlsFactories = new PlatformTLSFactories();
+ proxyProvider = new PlatformProxyProvider();
+ idnConverter = PlatformIDNConverter::create();
#ifdef USE_UNBOUND
- // TODO: What to do about idnConverter.
- domainNameResolver = new UnboundDomainNameResolver(ioServiceThread.getIOService(), eventLoop);
+ // TODO: What to do about idnConverter.
+ domainNameResolver = new UnboundDomainNameResolver(idnConverter.get(), ioServiceThread.getIOService(), eventLoop);
#else
- domainNameResolver = new PlatformDomainNameResolver(idnConverter, eventLoop);
+ domainNameResolver = new PlatformDomainNameResolver(idnConverter.get(), eventLoop);
#endif
- cryptoProvider = PlatformCryptoProvider::create();
+ cryptoProvider = PlatformCryptoProvider::create();
}
BoostNetworkFactories::~BoostNetworkFactories() {
- delete cryptoProvider;
- delete domainNameResolver;
- delete idnConverter;
- delete proxyProvider;
- delete tlsFactories;
- delete xmlParserFactory;
- delete networkEnvironment;
- delete natTraverser;
- delete connectionServerFactory;
- delete connectionFactory;
- delete timerFactory;
+ delete cryptoProvider;
+ delete domainNameResolver;
+ delete proxyProvider;
+ delete tlsFactories;
+ delete xmlParserFactory;
+ delete networkEnvironment;
+ delete natTraverser;
+ delete connectionServerFactory;
+ delete connectionFactory;
+ delete timerFactory;
}
TLSContextFactory* BoostNetworkFactories::getTLSContextFactory() const {
- return tlsFactories->getTLSContextFactory();
+ return tlsFactories->getTLSContextFactory();
}
}