aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-12-28 19:46:37 +0100
committerLinus Jahn <lnj@kaidan.im>2022-12-28 19:48:47 +0100
commit1655bced3931d269654734db261412330f91a242 (patch)
tree69cb605b23ec30b0ddab11c936bd9e2361b1dcc5 /src/client
parentba216127c250f07dba85b47366b8162e94f8391b (diff)
ClientExtension: Save d-ptr allocation
The d-ptr only contained one other pointer which can be stored directly. If we should need another attribute, we can just re-add the d-ptr since it has the same size as the current QXmppClient ptr. Closes #522.
Diffstat (limited to 'src/client')
-rw-r--r--src/client/QXmppClientExtension.cpp24
-rw-r--r--src/client/QXmppClientExtension.h3
2 files changed, 10 insertions, 17 deletions
diff --git a/src/client/QXmppClientExtension.cpp b/src/client/QXmppClientExtension.cpp
index a6fadb4b..131af7c3 100644
--- a/src/client/QXmppClientExtension.cpp
+++ b/src/client/QXmppClientExtension.cpp
@@ -6,36 +6,27 @@
#include "QXmppClient.h"
-#include <QStringList>
-
-class QXmppClientExtensionPrivate
-{
-public:
- QXmppClient *client;
-};
-
///
/// Constructs a QXmppClient extension.
///
QXmppClientExtension::QXmppClientExtension()
- : d(new QXmppClientExtensionPrivate)
+ : m_client(nullptr)
{
- d->client = nullptr;
}
QXmppClientExtension::~QXmppClientExtension() = default;
+///
/// Returns the discovery features to add to the client.
///
-
QStringList QXmppClientExtension::discoveryFeatures() const
{
return QStringList();
}
+///
/// Returns the discovery identities to add to the client.
///
-
QList<QXmppDiscoveryIq::Identity> QXmppClientExtension::discoveryIdentities() const
{
return QList<QXmppDiscoveryIq::Identity>();
@@ -81,21 +72,22 @@ bool QXmppClientExtension::handleStanza(const QDomElement &, const std::optional
return false;
}
+///
/// Returns the client which loaded this extension.
///
-
QXmppClient *QXmppClientExtension::client()
{
- return d->client;
+ return m_client;
}
+///
/// Sets the client which loaded this extension.
///
/// \param client
-
+///
void QXmppClientExtension::setClient(QXmppClient *client)
{
- d->client = client;
+ m_client = client;
}
///
diff --git a/src/client/QXmppClientExtension.h b/src/client/QXmppClientExtension.h
index 62fdd3ac..d05d6448 100644
--- a/src/client/QXmppClientExtension.h
+++ b/src/client/QXmppClientExtension.h
@@ -51,7 +51,8 @@ protected:
bool injectMessage(QXmppMessage &&message);
private:
- const std::unique_ptr<QXmppClientExtensionPrivate> d;
+ // m_client can be replaced with a d-ptr if needed (same size)
+ QXmppClient *m_client;
friend class QXmppClient;
};