diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-12-28 19:46:37 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-12-28 19:48:47 +0100 |
| commit | 1655bced3931d269654734db261412330f91a242 (patch) | |
| tree | 69cb605b23ec30b0ddab11c936bd9e2361b1dcc5 /src/client | |
| parent | ba216127c250f07dba85b47366b8162e94f8391b (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.cpp | 24 | ||||
| -rw-r--r-- | src/client/QXmppClientExtension.h | 3 |
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; }; |
