aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-28 16:37:09 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-28 16:37:09 +0000
commitcc7d73e86cc02f25fa152e121a04d6599d1ae895 (patch)
tree3488171a1490dc29e350189131e5f4d28df25862 /src
parenta0c99ad1f8e43b9dace56d11c2be2c672a1f0cb0 (diff)
downloadqxmpp-cc7d73e86cc02f25fa152e121a04d6599d1ae895.tar.gz
make removeExtension symmetric with addExtension
Diffstat (limited to 'src')
-rw-r--r--src/QXmppClient.cpp13
-rw-r--r--src/QXmppClient.h18
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());