diff options
Diffstat (limited to 'src/client/QXmppClient.h')
| -rw-r--r-- | src/client/QXmppClient.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/client/QXmppClient.h b/src/client/QXmppClient.h index 3337c5b1..a6502305 100644 --- a/src/client/QXmppClient.h +++ b/src/client/QXmppClient.h @@ -140,6 +140,14 @@ public: ~QXmppClient() override; bool addExtension(QXmppClientExtension *extension); + template<typename T, typename... Args> + T *addNewExtension(Args... args) + { + // it's impossible that addExtension() returns false: ext is a new object + auto *ext = new T(args...); + addExtension(ext); + return ext; + } bool insertExtension(int index, QXmppClientExtension *extension); bool removeExtension(QXmppClientExtension *extension); |
