summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-09-26 12:49:48 (GMT)
committerKevin Smith <kevin.smith@isode.com>2016-09-26 22:04:37 (GMT)
commit65596031acaf7d4f277bd75758bb1c551501ce86 (patch)
treeaac3a8bf6dbdccc1d476225b50ba25decf1a46cc /Swiften
parent05fbe78f5c3b30517f7152b37c157a99120682dc (diff)
downloadswift-65596031acaf7d4f277bd75758bb1c551501ce86.zip
swift-65596031acaf7d4f277bd75758bb1c551501ce86.tar.bz2
Use const std::unique_ptr for pimpl idiom usage
All our pimpl idiom usage used std::shared_ptr due to being written in C++03. Now we use C++11 and const std::unique_ptr is more sensible. Test-Information: Builds on macOS 10.12 and unit tests pass. Change-Id: I1b9b3fbb22e337d53ae71e5a5e03118998cc3376
Diffstat (limited to 'Swiften')
-rw-r--r--Swiften/Compress/ZLibCodecompressor.cpp2
-rw-r--r--Swiften/Compress/ZLibCodecompressor.h4
-rw-r--r--Swiften/Crypto/WindowsCryptoProvider.cpp3
-rw-r--r--Swiften/Crypto/WindowsCryptoProvider.h2
-rw-r--r--Swiften/Network/MiniUPnPInterface.cpp2
-rw-r--r--Swiften/Network/MiniUPnPInterface.h2
-rw-r--r--Swiften/Network/NATPMPInterface.cpp2
-rw-r--r--Swiften/Network/NATPMPInterface.h2
-rw-r--r--Swiften/Parser/ExpatParser.cpp4
-rw-r--r--Swiften/Parser/ExpatParser.h2
-rw-r--r--Swiften/Parser/LibXMLParser.cpp1
-rw-r--r--Swiften/Parser/LibXMLParser.h2
12 files changed, 15 insertions, 13 deletions
diff --git a/Swiften/Compress/ZLibCodecompressor.cpp b/Swiften/Compress/ZLibCodecompressor.cpp
index a9929a8..344e6b7 100644
--- a/Swiften/Compress/ZLibCodecompressor.cpp
+++ b/Swiften/Compress/ZLibCodecompressor.cpp
@@ -22,7 +22,7 @@ namespace Swift {
static const size_t CHUNK_SIZE = 1024; // If you change this, also change the unittest
-ZLibCodecompressor::ZLibCodecompressor() : p(std::make_shared<Private>()) {
+ZLibCodecompressor::ZLibCodecompressor() : p(new Private()) {
memset(&p->stream, 0, sizeof(z_stream));
p->stream.zalloc = Z_NULL;
p->stream.zfree = Z_NULL;
diff --git a/Swiften/Compress/ZLibCodecompressor.h b/Swiften/Compress/ZLibCodecompressor.h
index 641b7a3..8bc5d88 100644
--- a/Swiften/Compress/ZLibCodecompressor.h
+++ b/Swiften/Compress/ZLibCodecompressor.h
@@ -6,6 +6,8 @@
#pragma once
+#include <memory>
+
#include <Swiften/Base/API.h>
#include <Swiften/Base/SafeByteArray.h>
@@ -20,6 +22,6 @@ namespace Swift {
protected:
struct Private;
- std::shared_ptr<Private> p;
+ const std::unique_ptr<Private> p;
};
}
diff --git a/Swiften/Crypto/WindowsCryptoProvider.cpp b/Swiften/Crypto/WindowsCryptoProvider.cpp
index 61ac03e..513941f 100644
--- a/Swiften/Crypto/WindowsCryptoProvider.cpp
+++ b/Swiften/Crypto/WindowsCryptoProvider.cpp
@@ -190,8 +190,7 @@ namespace {
}
}
-WindowsCryptoProvider::WindowsCryptoProvider() {
- p = std::make_shared<Private>();
+WindowsCryptoProvider::WindowsCryptoProvider() : p(new Private()){
if (!CryptAcquireContext(&p->context, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
assert(false);
}
diff --git a/Swiften/Crypto/WindowsCryptoProvider.h b/Swiften/Crypto/WindowsCryptoProvider.h
index ddf7ffa..f446027 100644
--- a/Swiften/Crypto/WindowsCryptoProvider.h
+++ b/Swiften/Crypto/WindowsCryptoProvider.h
@@ -27,6 +27,6 @@ namespace Swift {
private:
struct Private;
- std::shared_ptr<Private> p;
+ const std::unique_ptr<Private> p;
};
}
diff --git a/Swiften/Network/MiniUPnPInterface.cpp b/Swiften/Network/MiniUPnPInterface.cpp
index 94305b9..9006ceb 100644
--- a/Swiften/Network/MiniUPnPInterface.cpp
+++ b/Swiften/Network/MiniUPnPInterface.cpp
@@ -32,7 +32,7 @@ struct MiniUPnPInterface::Private {
IGDdatas data;
};
-MiniUPnPInterface::MiniUPnPInterface() : p(std::make_shared<Private>()) {
+MiniUPnPInterface::MiniUPnPInterface() : p(new Private()) {
p->isValid = false;
int error = 0;
#if MINIUPNPC_API_VERSION > 14
diff --git a/Swiften/Network/MiniUPnPInterface.h b/Swiften/Network/MiniUPnPInterface.h
index ea956d9..89457b8 100644
--- a/Swiften/Network/MiniUPnPInterface.h
+++ b/Swiften/Network/MiniUPnPInterface.h
@@ -28,6 +28,6 @@ namespace Swift {
private:
struct Private;
- std::shared_ptr<Private> p;
+ const std::unique_ptr<Private> p;
};
}
diff --git a/Swiften/Network/NATPMPInterface.cpp b/Swiften/Network/NATPMPInterface.cpp
index c811212..5e0b3b3 100644
--- a/Swiften/Network/NATPMPInterface.cpp
+++ b/Swiften/Network/NATPMPInterface.cpp
@@ -30,7 +30,7 @@ struct NATPMPInterface::Private {
natpmp_t natpmp;
};
-NATPMPInterface::NATPMPInterface() : p(std::make_shared<Private>()) {
+NATPMPInterface::NATPMPInterface() : p(new Private()) {
initnatpmp(&p->natpmp, 0, 0);
}
diff --git a/Swiften/Network/NATPMPInterface.h b/Swiften/Network/NATPMPInterface.h
index 80f619c..e1666c8 100644
--- a/Swiften/Network/NATPMPInterface.h
+++ b/Swiften/Network/NATPMPInterface.h
@@ -28,6 +28,6 @@ namespace Swift {
private:
struct Private;
- std::shared_ptr<Private> p;
+ const std::unique_ptr<Private> p;
};
}
diff --git a/Swiften/Parser/ExpatParser.cpp b/Swiften/Parser/ExpatParser.cpp
index 80cfe76..77d959c 100644
--- a/Swiften/Parser/ExpatParser.cpp
+++ b/Swiften/Parser/ExpatParser.cpp
@@ -6,9 +6,9 @@
#include <Swiften/Parser/ExpatParser.h>
-#include <string>
-
#include <cassert>
+#include <memory>
+#include <string>
#include <expat.h>
diff --git a/Swiften/Parser/ExpatParser.h b/Swiften/Parser/ExpatParser.h
index 6580a7a..12df463 100644
--- a/Swiften/Parser/ExpatParser.h
+++ b/Swiften/Parser/ExpatParser.h
@@ -25,6 +25,6 @@ namespace Swift {
private:
struct Private;
- std::shared_ptr<Private> p;
+ const std::unique_ptr<Private> p;
};
}
diff --git a/Swiften/Parser/LibXMLParser.cpp b/Swiften/Parser/LibXMLParser.cpp
index a880141..be0a92d 100644
--- a/Swiften/Parser/LibXMLParser.cpp
+++ b/Swiften/Parser/LibXMLParser.cpp
@@ -8,6 +8,7 @@
#include <cassert>
#include <cstring>
+#include <memory>
#include <string>
#include <boost/numeric/conversion/cast.hpp>
diff --git a/Swiften/Parser/LibXMLParser.h b/Swiften/Parser/LibXMLParser.h
index e63a628..9f752ce 100644
--- a/Swiften/Parser/LibXMLParser.h
+++ b/Swiften/Parser/LibXMLParser.h
@@ -28,6 +28,6 @@ namespace Swift {
static bool initialized;
struct Private;
- std::shared_ptr<Private> p;
+ const std::unique_ptr<Private> p;
};
}