aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.cpp
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2013-02-05 19:09:50 +0200
committerOskari Timperi <oskari.timperi@iki.fi>2013-02-05 19:09:50 +0200
commit169cbc4238306120bf42301e9c0cd6147249f354 (patch)
tree3a76b8466eb5046d7cd881c4e68e5efbb231fd74 /src/client/QXmppClient.cpp
parentdf33c36fd9d073672fd3708388f3d93397a56559 (diff)
downloadqxmpp-169cbc4238306120bf42301e9c0cd6147249f354.tar.gz
Add QXmppClient::insertExtension()
Now users who need greater control from the library can insert their own managers to the beginning of the extensions list and catch every stanza.
Diffstat (limited to 'src/client/QXmppClient.cpp')
-rw-r--r--src/client/QXmppClient.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp
index 3fc3d35b..bdca8ec5 100644
--- a/src/client/QXmppClient.cpp
+++ b/src/client/QXmppClient.cpp
@@ -208,9 +208,10 @@ QXmppClient::~QXmppClient()
/// Registers a new extension with the client.
///
+/// \param index
/// \param extension
-bool QXmppClient::addExtension(QXmppClientExtension* extension)
+bool QXmppClient::insertExtension(int index, QXmppClientExtension *extension)
{
if (d->extensions.contains(extension))
{
@@ -220,10 +221,19 @@ bool QXmppClient::addExtension(QXmppClientExtension* extension)
extension->setParent(this);
extension->setClient(this);
- d->extensions << extension;
+ d->extensions.insert(index, extension);
return true;
}
+/// Registers a new extension with the client.
+///
+/// \param extension
+
+bool QXmppClient::addExtension(QXmppClientExtension* extension)
+{
+ return insertExtension(d->extensions.size(), extension);
+}
+
/// Unregisters the given extension from the client. If the extension
/// is found, it will be destroyed.
///