aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-09-02 18:26:02 +0200
committerLinus Jahn <lnj@kaidan.im>2022-09-02 18:55:44 +0200
commit53fb1785ce3be4c014e854659b8f39777d23b2a5 (patch)
tree81d6b1050ced8e702fbe6a645efe1e63bb3757c3 /src/client
parent6bd74d69ddbf68871fdcb8a2705298e350056208 (diff)
downloadqxmpp-53fb1785ce3be4c014e854659b8f39777d23b2a5.tar.gz
Replace raw pointers with unique_ptr
safer, simpler
Diffstat (limited to 'src/client')
-rw-r--r--src/client/QXmppAtmTrustMemoryStorage.h2
-rw-r--r--src/client/QXmppAttentionManager.cpp8
-rw-r--r--src/client/QXmppAttentionManager.h2
-rw-r--r--src/client/QXmppBookmarkManager.cpp8
-rw-r--r--src/client/QXmppBookmarkManager.h2
-rw-r--r--src/client/QXmppClient.cpp8
-rw-r--r--src/client/QXmppClient.h3
-rw-r--r--src/client/QXmppClientExtension.cpp10
-rw-r--r--src/client/QXmppClientExtension.h4
-rw-r--r--src/client/QXmppDiscoveryManager.cpp5
-rw-r--r--src/client/QXmppDiscoveryManager.h2
-rw-r--r--src/client/QXmppMucManager.cpp25
-rw-r--r--src/client/QXmppMucManager.h4
-rw-r--r--src/client/QXmppOutgoingClient.cpp12
-rw-r--r--src/client/QXmppOutgoingClient.h2
-rw-r--r--src/client/QXmppRosterManager.cpp7
-rw-r--r--src/client/QXmppRosterManager.h2
-rw-r--r--src/client/QXmppTransferManager.cpp14
-rw-r--r--src/client/QXmppTransferManager.h4
-rw-r--r--src/client/QXmppUploadRequestManager.cpp2
-rw-r--r--src/client/QXmppUploadRequestManager.h2
-rw-r--r--src/client/QXmppVCardManager.cpp7
-rw-r--r--src/client/QXmppVCardManager.h2
-rw-r--r--src/client/QXmppVersionManager.cpp8
-rw-r--r--src/client/QXmppVersionManager.h2
25 files changed, 46 insertions, 101 deletions
diff --git a/src/client/QXmppAtmTrustMemoryStorage.h b/src/client/QXmppAtmTrustMemoryStorage.h
index 432c2058..9d309e2a 100644
--- a/src/client/QXmppAtmTrustMemoryStorage.h
+++ b/src/client/QXmppAtmTrustMemoryStorage.h
@@ -27,7 +27,7 @@ public:
/// \endcond
private:
- std::unique_ptr<QXmppAtmTrustMemoryStoragePrivate> d;
+ const std::unique_ptr<QXmppAtmTrustMemoryStoragePrivate> d;
};
#endif // QXMPPATMTRUSTMEMORYSTORAGE_H
diff --git a/src/client/QXmppAttentionManager.cpp b/src/client/QXmppAttentionManager.cpp
index 2e4fa244..b797911b 100644
--- a/src/client/QXmppAttentionManager.cpp
+++ b/src/client/QXmppAttentionManager.cpp
@@ -89,13 +89,7 @@ QXmppAttentionManager::QXmppAttentionManager(quint8 allowedAttempts, QTime timeF
{
}
-///
-/// Destructor
-///
-QXmppAttentionManager::~QXmppAttentionManager()
-{
- delete d;
-}
+QXmppAttentionManager::~QXmppAttentionManager() = default;
///
/// Returns the \xep{0224}: Attention feature.
diff --git a/src/client/QXmppAttentionManager.h b/src/client/QXmppAttentionManager.h
index 92ddca8b..1f1e9298 100644
--- a/src/client/QXmppAttentionManager.h
+++ b/src/client/QXmppAttentionManager.h
@@ -43,7 +43,7 @@ private Q_SLOTS:
void handleMessageReceived(const QXmppMessage &message);
private:
- QXmppAttentionManagerPrivate *const d;
+ const std::unique_ptr<QXmppAttentionManagerPrivate> d;
};
#endif // QXMPPATTENTIONMANAGER_H
diff --git a/src/client/QXmppBookmarkManager.cpp b/src/client/QXmppBookmarkManager.cpp
index 1f564150..c9a1e793 100644
--- a/src/client/QXmppBookmarkManager.cpp
+++ b/src/client/QXmppBookmarkManager.cpp
@@ -73,6 +73,7 @@ public:
bool bookmarksReceived;
};
+///
/// Constructs a new bookmark manager.
///
QXmppBookmarkManager::QXmppBookmarkManager()
@@ -81,12 +82,7 @@ QXmppBookmarkManager::QXmppBookmarkManager()
d->bookmarksReceived = false;
}
-/// Destroys a bookmark manager.
-///
-QXmppBookmarkManager::~QXmppBookmarkManager()
-{
- delete d;
-}
+QXmppBookmarkManager::~QXmppBookmarkManager() = default;
/// Returns true if the bookmarks have been received from the server,
/// false otherwise.
diff --git a/src/client/QXmppBookmarkManager.h b/src/client/QXmppBookmarkManager.h
index 8da2520b..f964b654 100644
--- a/src/client/QXmppBookmarkManager.h
+++ b/src/client/QXmppBookmarkManager.h
@@ -46,7 +46,7 @@ private Q_SLOTS:
void slotDisconnected();
private:
- QXmppBookmarkManagerPrivate *const d;
+ const std::unique_ptr<QXmppBookmarkManagerPrivate> d;
};
#endif
diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp
index 18adddb6..f4587063 100644
--- a/src/client/QXmppClient.cpp
+++ b/src/client/QXmppClient.cpp
@@ -236,13 +236,7 @@ QXmppClient::QXmppClient(QObject *parent)
addExtension(new QXmppDiscoveryManager());
}
-/// Destructor, destroys the QXmppClient object.
-///
-
-QXmppClient::~QXmppClient()
-{
- delete d;
-}
+QXmppClient::~QXmppClient() = default;
///
/// \fn QXmppClient::addNewExtension()
diff --git a/src/client/QXmppClient.h b/src/client/QXmppClient.h
index ac53850f..43ac7d15 100644
--- a/src/client/QXmppClient.h
+++ b/src/client/QXmppClient.h
@@ -11,6 +11,7 @@
#include "QXmppSendResult.h"
#include "QXmppSendStanzaParams.h"
+#include <memory>
#include <variant>
#include <QAbstractSocket>
@@ -321,7 +322,7 @@ private Q_SLOTS:
void _q_streamError(QXmppClient::Error error);
private:
- QXmppClientPrivate *const d;
+ const std::unique_ptr<QXmppClientPrivate> d;
friend class QXmppClientExtension;
friend class QXmppInternalClientExtension;
diff --git a/src/client/QXmppClientExtension.cpp b/src/client/QXmppClientExtension.cpp
index 7181cfc3..a6fadb4b 100644
--- a/src/client/QXmppClientExtension.cpp
+++ b/src/client/QXmppClientExtension.cpp
@@ -14,22 +14,16 @@ public:
QXmppClient *client;
};
+///
/// Constructs a QXmppClient extension.
///
-
QXmppClientExtension::QXmppClientExtension()
: d(new QXmppClientExtensionPrivate)
{
d->client = nullptr;
}
-/// Destroys a QXmppClient extension.
-///
-
-QXmppClientExtension::~QXmppClientExtension()
-{
- delete d;
-}
+QXmppClientExtension::~QXmppClientExtension() = default;
/// Returns the discovery features to add to the client.
///
diff --git a/src/client/QXmppClientExtension.h b/src/client/QXmppClientExtension.h
index 7df1f840..62fdd3ac 100644
--- a/src/client/QXmppClientExtension.h
+++ b/src/client/QXmppClientExtension.h
@@ -9,6 +9,8 @@
#include "QXmppExtension.h"
#include "QXmppLogger.h"
+#include <memory>
+
class QDomElement;
class QXmppClient;
@@ -49,7 +51,7 @@ protected:
bool injectMessage(QXmppMessage &&message);
private:
- QXmppClientExtensionPrivate *const d;
+ const std::unique_ptr<QXmppClientExtensionPrivate> d;
friend class QXmppClient;
};
diff --git a/src/client/QXmppDiscoveryManager.cpp b/src/client/QXmppDiscoveryManager.cpp
index 65e7fa28..78575e94 100644
--- a/src/client/QXmppDiscoveryManager.cpp
+++ b/src/client/QXmppDiscoveryManager.cpp
@@ -62,10 +62,7 @@ QXmppDiscoveryManager::QXmppDiscoveryManager()
d->clientName = QString("%1 %2").arg(qApp->applicationName(), qApp->applicationVersion());
}
-QXmppDiscoveryManager::~QXmppDiscoveryManager()
-{
- delete d;
-}
+QXmppDiscoveryManager::~QXmppDiscoveryManager() = default;
/// Requests information from the specified XMPP entity.
///
diff --git a/src/client/QXmppDiscoveryManager.h b/src/client/QXmppDiscoveryManager.h
index d2fcf1a3..fd87f8a3 100644
--- a/src/client/QXmppDiscoveryManager.h
+++ b/src/client/QXmppDiscoveryManager.h
@@ -67,7 +67,7 @@ Q_SIGNALS:
void itemsReceived(const QXmppDiscoveryIq &);
private:
- QXmppDiscoveryManagerPrivate *d;
+ const std::unique_ptr<QXmppDiscoveryManagerPrivate> d;
};
#endif // QXMPPDISCOVERYMANAGER_H
diff --git a/src/client/QXmppMucManager.cpp b/src/client/QXmppMucManager.cpp
index 71a5d436..59b7cdcc 100644
--- a/src/client/QXmppMucManager.cpp
+++ b/src/client/QXmppMucManager.cpp
@@ -37,19 +37,15 @@ public:
QString subject;
};
+///
/// Constructs a new QXmppMucManager.
-
+///
QXmppMucManager::QXmppMucManager()
+ : d(std::make_unique<QXmppMucManagerPrivate>())
{
- d = new QXmppMucManagerPrivate;
}
-/// Destroys a QXmppMucManager.
-
-QXmppMucManager::~QXmppMucManager()
-{
- delete d;
-}
+QXmppMucManager::~QXmppMucManager() = default;
/// Adds the given chat room to the set of managed rooms.
///
@@ -123,7 +119,6 @@ bool QXmppMucManager::handleStanza(const QDomElement &element)
void QXmppMucManager::setClient(QXmppClient *client)
{
-
QXmppClientExtension::setClient(client);
connect(client, &QXmppClient::messageReceived,
@@ -154,10 +149,9 @@ void QXmppMucManager::_q_roomDestroyed(QObject *object)
/// \param parent
QXmppMucRoom::QXmppMucRoom(QXmppClient *client, const QString &jid, QObject *parent)
- : QObject(parent)
+ : QObject(parent),
+ d(std::make_unique<QXmppMucRoomPrivate>())
{
-
- d = new QXmppMucRoomPrivate;
d->allowedActions = NoAction;
d->client = client;
d->discoManager = client->findExtension<QXmppDiscoveryManager>();
@@ -183,12 +177,7 @@ QXmppMucRoom::QXmppMucRoom(QXmppClient *client, const QString &jid, QObject *par
connect(this, &QXmppMucRoom::left, this, &QXmppMucRoom::isJoinedChanged);
}
-/// Destroys a QXmppMucRoom.
-
-QXmppMucRoom::~QXmppMucRoom()
-{
- delete d;
-}
+QXmppMucRoom::~QXmppMucRoom() = default;
QXmppMucRoom::Actions QXmppMucRoom::allowedActions() const
{
diff --git a/src/client/QXmppMucManager.h b/src/client/QXmppMucManager.h
index 38d6db86..f9941eb3 100644
--- a/src/client/QXmppMucManager.h
+++ b/src/client/QXmppMucManager.h
@@ -75,7 +75,7 @@ private Q_SLOTS:
void _q_roomDestroyed(QObject *object);
private:
- QXmppMucManagerPrivate *d;
+ const std::unique_ptr<QXmppMucManagerPrivate> d;
};
/// \brief The QXmppMucRoom class represents a multi-user chat room
@@ -235,7 +235,7 @@ private Q_SLOTS:
private:
QXmppMucRoom(QXmppClient *client, const QString &jid, QObject *parent);
- QXmppMucRoomPrivate *d;
+ const std::unique_ptr<QXmppMucRoomPrivate> d;
friend class QXmppMucManager;
};
diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp
index 21d2b4e5..69f7680b 100644
--- a/src/client/QXmppOutgoingClient.cpp
+++ b/src/client/QXmppOutgoingClient.cpp
@@ -161,13 +161,12 @@ void QXmppOutgoingClientPrivate::connectToNextDNSHost()
dns.serviceRecords().at(curIdx).port());
}
+///
/// Constructs an outgoing client stream.
///
-/// \param parent
-
QXmppOutgoingClient::QXmppOutgoingClient(QObject *parent)
: QXmppStream(parent),
- d(new QXmppOutgoingClientPrivate(this))
+ d(std::make_unique<QXmppOutgoingClientPrivate>(this))
{
// initialise socket
auto *socket = new QSslSocket(this);
@@ -210,12 +209,7 @@ QXmppOutgoingClient::QXmppOutgoingClient(QObject *parent)
});
}
-/// Destroys an outgoing client stream.
-
-QXmppOutgoingClient::~QXmppOutgoingClient()
-{
- delete d;
-}
+QXmppOutgoingClient::~QXmppOutgoingClient() = default;
/// Returns a reference to the stream's configuration.
diff --git a/src/client/QXmppOutgoingClient.h b/src/client/QXmppOutgoingClient.h
index 26a09281..57e3477a 100644
--- a/src/client/QXmppOutgoingClient.h
+++ b/src/client/QXmppOutgoingClient.h
@@ -94,7 +94,7 @@ private:
friend class QXmppOutgoingClientPrivate;
friend class tst_QXmppOutgoingClient;
- QXmppOutgoingClientPrivate *const d;
+ const std::unique_ptr<QXmppOutgoingClientPrivate> d;
};
#endif // QXMPPOUTGOINGCLIENT_H
diff --git a/src/client/QXmppRosterManager.cpp b/src/client/QXmppRosterManager.cpp
index ddbefd05..51a8b44a 100644
--- a/src/client/QXmppRosterManager.cpp
+++ b/src/client/QXmppRosterManager.cpp
@@ -68,7 +68,7 @@ void QXmppRosterManagerPrivate::clear()
/// Constructs a roster manager.
///
QXmppRosterManager::QXmppRosterManager(QXmppClient *client)
- : d(new QXmppRosterManagerPrivate())
+ : d(std::make_unique<QXmppRosterManagerPrivate>())
{
connect(client, &QXmppClient::connected,
this, &QXmppRosterManager::_q_connected);
@@ -80,10 +80,7 @@ QXmppRosterManager::QXmppRosterManager(QXmppClient *client)
this, &QXmppRosterManager::_q_presenceReceived);
}
-QXmppRosterManager::~QXmppRosterManager()
-{
- delete d;
-}
+QXmppRosterManager::~QXmppRosterManager() = default;
///
/// Accepts an existing subscription request or pre-approves future subscription
diff --git a/src/client/QXmppRosterManager.h b/src/client/QXmppRosterManager.h
index f643fd6b..be4f45d6 100644
--- a/src/client/QXmppRosterManager.h
+++ b/src/client/QXmppRosterManager.h
@@ -135,7 +135,7 @@ private Q_SLOTS:
void _q_presenceReceived(const QXmppPresence &);
private:
- QXmppRosterManagerPrivate *d;
+ const std::unique_ptr<QXmppRosterManagerPrivate> d;
};
#endif // QXMPPROSTER_H
diff --git a/src/client/QXmppTransferManager.cpp b/src/client/QXmppTransferManager.cpp
index 74e2e94f..b1f9be83 100644
--- a/src/client/QXmppTransferManager.cpp
+++ b/src/client/QXmppTransferManager.cpp
@@ -254,17 +254,14 @@ QXmppTransferJobPrivate::QXmppTransferJobPrivate()
QXmppTransferJob::QXmppTransferJob(const QString &jid, QXmppTransferJob::Direction direction, QXmppClient *client, QObject *parent)
: QXmppLoggable(parent),
- d(new QXmppTransferJobPrivate)
+ d(std::make_unique<QXmppTransferJobPrivate>())
{
d->client = client;
d->direction = direction;
d->jid = jid;
}
-QXmppTransferJob::~QXmppTransferJob()
-{
- delete d;
-}
+QXmppTransferJob::~QXmppTransferJob() = default;
///
/// Call this method if you wish to abort on ongoing transfer job.
@@ -760,7 +757,7 @@ QXmppTransferOutgoingJob *QXmppTransferManagerPrivate::getOutgoingJobByRequestId
/// file transfers.
///
QXmppTransferManager::QXmppTransferManager()
- : d(new QXmppTransferManagerPrivate)
+ : d(std::make_unique<QXmppTransferManagerPrivate>())
{
// start SOCKS server
d->socksServer = new QXmppSocksServer(this);
@@ -771,10 +768,7 @@ QXmppTransferManager::QXmppTransferManager()
}
}
-QXmppTransferManager::~QXmppTransferManager()
-{
- delete d;
-}
+QXmppTransferManager::~QXmppTransferManager() = default;
void QXmppTransferManager::byteStreamIqReceived(const QXmppByteStreamIq &iq)
{
diff --git a/src/client/QXmppTransferManager.h b/src/client/QXmppTransferManager.h
index 7a518d90..4ab0d237 100644
--- a/src/client/QXmppTransferManager.h
+++ b/src/client/QXmppTransferManager.h
@@ -182,7 +182,7 @@ private:
void setState(QXmppTransferJob::State state);
void terminate(QXmppTransferJob::Error error);
- QXmppTransferJobPrivate *const d;
+ const std::unique_ptr<QXmppTransferJobPrivate> d;
friend class QXmppTransferManager;
friend class QXmppTransferManagerPrivate;
friend class QXmppTransferIncomingJob;
@@ -260,7 +260,7 @@ private Q_SLOTS:
void _q_socksServerConnected(QTcpSocket *socket, const QString &hostName, quint16 port);
private:
- QXmppTransferManagerPrivate *d;
+ const std::unique_ptr<QXmppTransferManagerPrivate> d;
void byteStreamIqReceived(const QXmppByteStreamIq &);
void byteStreamResponseReceived(const QXmppIq &);
diff --git a/src/client/QXmppUploadRequestManager.cpp b/src/client/QXmppUploadRequestManager.cpp
index 9fe9fa6c..1ade2fbc 100644
--- a/src/client/QXmppUploadRequestManager.cpp
+++ b/src/client/QXmppUploadRequestManager.cpp
@@ -88,7 +88,7 @@ public:
///
QXmppUploadRequestManager::QXmppUploadRequestManager()
- : d(new QXmppUploadRequestManagerPrivate)
+ : d(std::make_unique<QXmppUploadRequestManagerPrivate>())
{
}
diff --git a/src/client/QXmppUploadRequestManager.h b/src/client/QXmppUploadRequestManager.h
index 2031f667..60a8da1e 100644
--- a/src/client/QXmppUploadRequestManager.h
+++ b/src/client/QXmppUploadRequestManager.h
@@ -132,7 +132,7 @@ protected:
private:
void handleDiscoInfo(const QXmppDiscoveryIq &iq);
- QSharedDataPointer<QXmppUploadRequestManagerPrivate> d;
+ const std::unique_ptr<QXmppUploadRequestManagerPrivate> d;
};
#endif // QXMPPUPLOADREQUESTMANAGER_H
diff --git a/src/client/QXmppVCardManager.cpp b/src/client/QXmppVCardManager.cpp
index 5fd6d49f..b6cdff0b 100644
--- a/src/client/QXmppVCardManager.cpp
+++ b/src/client/QXmppVCardManager.cpp
@@ -17,15 +17,12 @@ public:
};
QXmppVCardManager::QXmppVCardManager()
- : d(new QXmppVCardManagerPrivate)
+ : d(std::make_unique<QXmppVCardManagerPrivate>())
{
d->isClientVCardReceived = false;
}
-QXmppVCardManager::~QXmppVCardManager()
-{
- delete d;
-}
+QXmppVCardManager::~QXmppVCardManager() = default;
/// This function requests the server for vCard of the specified jid.
/// Once received the signal vCardReceived() is emitted.
diff --git a/src/client/QXmppVCardManager.h b/src/client/QXmppVCardManager.h
index 4c6b742f..1e4e164e 100644
--- a/src/client/QXmppVCardManager.h
+++ b/src/client/QXmppVCardManager.h
@@ -65,7 +65,7 @@ Q_SIGNALS:
void clientVCardReceived();
private:
- QXmppVCardManagerPrivate *d;
+ const std::unique_ptr<QXmppVCardManagerPrivate> d;
};
#endif // QXMPPVCARDMANAGER_H
diff --git a/src/client/QXmppVersionManager.cpp b/src/client/QXmppVersionManager.cpp
index 29ae3907..79c9f098 100644
--- a/src/client/QXmppVersionManager.cpp
+++ b/src/client/QXmppVersionManager.cpp
@@ -6,7 +6,6 @@
#include "QXmppClient.h"
#include "QXmppConstants_p.h"
-#include "QXmppGlobal.h"
#include "QXmppVersionIq.h"
#include <QCoreApplication>
@@ -22,7 +21,7 @@ public:
};
QXmppVersionManager::QXmppVersionManager()
- : d(new QXmppVersionManagerPrivate)
+ : d(std::make_unique<QXmppVersionManagerPrivate>())
{
d->clientName = qApp->applicationName();
if (d->clientName.isEmpty())
@@ -34,10 +33,7 @@ QXmppVersionManager::QXmppVersionManager()
d->clientVersion = QXmppVersion();
}
-QXmppVersionManager::~QXmppVersionManager()
-{
- delete d;
-}
+QXmppVersionManager::~QXmppVersionManager() = default;
/// Request version information from the specified XMPP entity.
///
diff --git a/src/client/QXmppVersionManager.h b/src/client/QXmppVersionManager.h
index d459cbcd..c53429aa 100644
--- a/src/client/QXmppVersionManager.h
+++ b/src/client/QXmppVersionManager.h
@@ -48,7 +48,7 @@ Q_SIGNALS:
void versionReceived(const QXmppVersionIq &);
private:
- QXmppVersionManagerPrivate *d;
+ const std::unique_ptr<QXmppVersionManagerPrivate> d;
};
#endif // QXMPPVERSIONMANAGER_H