aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppClient.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2020-09-09 15:05:23 +0200
committerLinus Jahn <lnj@kaidan.im>2021-06-27 20:17:17 +0200
commit3caffcebf16680576d8dd785437eed16a6c5f36d (patch)
tree0805a42decacdda2ace8d43196c25fe21a6fad79 /src/client/QXmppClient.cpp
parent7e936d200db4855ceaf9eabc1e84c3574a12ec98 (diff)
downloadqxmpp-3caffcebf16680576d8dd785437eed16a6c5f36d.tar.gz
Add reporting of IQ responses with QFutures
Diffstat (limited to 'src/client/QXmppClient.cpp')
-rw-r--r--src/client/QXmppClient.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp
index 6933a0a6..4f8bfc26 100644
--- a/src/client/QXmppClient.cpp
+++ b/src/client/QXmppClient.cpp
@@ -38,6 +38,7 @@
#include "QXmppVCardManager.h"
#include "QXmppVersionManager.h"
+#include <QDomElement>
#include <QFuture>
#include <QSslSocket>
#include <QTimer>
@@ -109,6 +110,14 @@ QStringList QXmppClientPrivate::discoveryFeatures()
}
/// \endcond
+///
+/// \typedef QXmppClient::IqResult
+///
+/// Result of an IQ request, either contains the QDomElement of the IQ answer
+/// (with type 'error' or 'result') or it contains the packet error, if the
+/// request couldn't be sent.
+///
+
/// Creates a QXmppClient object.
/// \param parent is passed to the QObject's constructor.
/// The default value is 0.
@@ -333,6 +342,18 @@ QFuture<QXmpp::PacketState> QXmppClient::send(const QXmppStanza &stanza)
return d->stream->send(stanza);
}
+///
+/// Sends an IQ packet and returns the response asynchronously.
+///
+/// \warning THIS API IS NOT FINALIZED YET!
+///
+/// \since QXmpp 1.5
+///
+QFuture<QXmppClient::IqResult> QXmppClient::sendIq(const QXmppIq &iq)
+{
+ return d->stream->sendIq(iq);
+}
+
/// Disconnects the client and the current presence of client changes to
/// QXmppPresence::Unavailable and status text changes to "Logged out".
///