diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/QXmppClient.cpp | 13 | ||||
| -rw-r--r-- | src/QXmppClient.h | 18 |
2 files changed, 15 insertions, 16 deletions
diff --git a/src/QXmppClient.cpp b/src/QXmppClient.cpp index 6dd80be5..f468a7c1 100644 --- a/src/QXmppClient.cpp +++ b/src/QXmppClient.cpp @@ -260,6 +260,19 @@ void QXmppClient::addExtension(QXmppClientExtension *extension) d->extensions << extension; } +void QXmppClient::removeExtension(QXmppClientExtension* extension) +{ + QList<QXmppClientExtension*> list = extensions(); + for (int i = 0; i < list.size(); ++i) + { + if(extension == list.at(i)) + { + list.takeAt(i); + delete extension; + } + } +} + /// Returns a list containing all the client's extensions. /// diff --git a/src/QXmppClient.h b/src/QXmppClient.h index ad50338b..f50c3fea 100644 --- a/src/QXmppClient.h +++ b/src/QXmppClient.h @@ -95,6 +95,8 @@ public: ~QXmppClient(); void addExtension(QXmppClientExtension *extension); + void removeExtension(QXmppClientExtension* extension); + QList<QXmppClientExtension*> extensions(); /// Returns the extension than can be cast to type T*, or 0 if there is @@ -113,22 +115,6 @@ public: return 0; } - template<typename T> - void removeExtension() - { - QList<QXmppClientExtension*> list = extensions(); - for (int i = 0; i < list.size(); ++i) - { - T* extension = qobject_cast<T*>(list.at(i)); - if(extension) - { - list.takeAt(i); - delete extension; - } - } - return 0; - } - void connectToServer(const QXmppConfiguration&, const QXmppPresence& initialPresence = QXmppPresence()); |
