From d014416ac23f73677f8931161bb2257ec09dced7 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sun, 16 Oct 2022 21:57:24 +0200 Subject: VersionManager: Use new IQ request handling --- src/client/QXmppVersionManager.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'src/client/QXmppVersionManager.cpp') diff --git a/src/client/QXmppVersionManager.cpp b/src/client/QXmppVersionManager.cpp index a42e3328..f4cabbdc 100644 --- a/src/client/QXmppVersionManager.cpp +++ b/src/client/QXmppVersionManager.cpp @@ -6,12 +6,15 @@ #include "QXmppClient.h" #include "QXmppConstants_p.h" +#include "QXmppIqHandling.h" #include "QXmppVersionIq.h" #include #include #include +using namespace QXmpp; + class QXmppVersionManagerPrivate { public: @@ -119,23 +122,15 @@ QStringList QXmppVersionManager::discoveryFeatures() const bool QXmppVersionManager::handleStanza(const QDomElement &element) { + if (QXmpp::handleIqRequests(element, client(), this)) { + return true; + } + if (element.tagName() == "iq" && QXmppVersionIq::isVersionIq(element)) { QXmppVersionIq versionIq; versionIq.parse(element); - if (versionIq.type() == QXmppIq::Get) { - // respond to query - QXmppVersionIq responseIq; - responseIq.setType(QXmppIq::Result); - responseIq.setId(versionIq.id()); - responseIq.setTo(versionIq.from()); - - responseIq.setName(clientName()); - responseIq.setVersion(clientVersion()); - responseIq.setOs(clientOs()); - - client()->sendPacket(responseIq); - } else if (versionIq.type() == QXmppIq::Result) { + if (versionIq.type() == QXmppIq::Result) { // emit response emit versionReceived(versionIq); } @@ -145,4 +140,14 @@ bool QXmppVersionManager::handleStanza(const QDomElement &element) return false; } + +QXmppVersionIq QXmppVersionManager::handleIq(QXmppVersionIq &&iq) +{ + QXmppVersionIq response; + response.setType(QXmppIq::Result); + response.setName(clientName()); + response.setVersion(clientVersion()); + response.setOs(clientOs()); + return response; +} /// \endcond -- cgit v1.2.3