diff options
-rw-r--r-- | Swiften/IDN/PlatformIDNConverter.cpp | 10 | ||||
-rw-r--r-- | Swiften/IDN/PlatformIDNConverter.h | 6 | ||||
-rw-r--r-- | Swiften/Network/BoostNetworkFactories.cpp | 7 | ||||
-rw-r--r-- | Swiften/Network/BoostNetworkFactories.h | 8 |
4 files changed, 17 insertions, 14 deletions
diff --git a/Swiften/IDN/PlatformIDNConverter.cpp b/Swiften/IDN/PlatformIDNConverter.cpp index c6104fb..3564bb9 100644 --- a/Swiften/IDN/PlatformIDNConverter.cpp +++ b/Swiften/IDN/PlatformIDNConverter.cpp @@ -1,3 +1,3 @@ /* - * Copyright (c) 2012-2018 Isode Limited. + * Copyright (c) 2012-2019 Isode Limited. * All rights reserved. @@ -15,7 +15,7 @@ namespace Swift { -IDNConverter* PlatformIDNConverter::create() { +std::unique_ptr<IDNConverter> PlatformIDNConverter::create() { #if defined(HAVE_LIBIDN) - return new LibIDNConverter(); + return std::make_unique<LibIDNConverter>(); #elif defined(HAVE_ICU) - return new ICUConverter(); + return std::make_unique<ICUConverter>(); #else @@ -24,3 +24,3 @@ IDNConverter* PlatformIDNConverter::create() { #else - return nullptr; + return {}; #endif diff --git a/Swiften/IDN/PlatformIDNConverter.h b/Swiften/IDN/PlatformIDNConverter.h index 704f7a7..3b9a275 100644 --- a/Swiften/IDN/PlatformIDNConverter.h +++ b/Swiften/IDN/PlatformIDNConverter.h @@ -1,3 +1,3 @@ /* - * Copyright (c) 2012 Isode Limited. + * Copyright (c) 2012-2019 Isode Limited. * All rights reserved. @@ -10,2 +10,4 @@ +#include <memory> + namespace Swift { @@ -14,3 +16,3 @@ namespace Swift { namespace PlatformIDNConverter { - SWIFTEN_API IDNConverter* create(); + SWIFTEN_API std::unique_ptr<IDNConverter> create(); } diff --git a/Swiften/Network/BoostNetworkFactories.cpp b/Swiften/Network/BoostNetworkFactories.cpp index 9fef73c..13a7960 100644 --- a/Swiften/Network/BoostNetworkFactories.cpp +++ b/Swiften/Network/BoostNetworkFactories.cpp @@ -1,3 +1,3 @@ /* - * Copyright (c) 2010-2016 Isode Limited. + * Copyright (c) 2010-2019 Isode Limited. * All rights reserved. @@ -46,5 +46,5 @@ BoostNetworkFactories::BoostNetworkFactories(EventLoop* eventLoop, std::shared_p // TODO: What to do about idnConverter. - domainNameResolver = new UnboundDomainNameResolver(idnConverter, ioServiceThread.getIOService(), eventLoop); + domainNameResolver = new UnboundDomainNameResolver(idnConverter.get(), ioServiceThread.getIOService(), eventLoop); #else - domainNameResolver = new PlatformDomainNameResolver(idnConverter, eventLoop); + domainNameResolver = new PlatformDomainNameResolver(idnConverter.get(), eventLoop); #endif @@ -56,3 +56,2 @@ BoostNetworkFactories::~BoostNetworkFactories() { delete domainNameResolver; - delete idnConverter; delete proxyProvider; diff --git a/Swiften/Network/BoostNetworkFactories.h b/Swiften/Network/BoostNetworkFactories.h index 2bf8d33..33a3584 100644 --- a/Swiften/Network/BoostNetworkFactories.h +++ b/Swiften/Network/BoostNetworkFactories.h @@ -1,3 +1,3 @@ /* - * Copyright (c) 2010-2017 Isode Limited. + * Copyright (c) 2010-2019 Isode Limited. * All rights reserved. @@ -8,2 +8,4 @@ +#include <memory> + #include <Swiften/Base/API.h> @@ -70,3 +72,3 @@ namespace Swift { virtual IDNConverter* getIDNConverter() const override { - return idnConverter; + return idnConverter.get(); } @@ -89,3 +91,3 @@ namespace Swift { EventLoop* eventLoop; - IDNConverter* idnConverter; + std::unique_ptr<IDNConverter> idnConverter; CryptoProvider* cryptoProvider; |