From 3fa5930402a3248334b72dd430481943c2a00cf4 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 14 Sep 2010 13:03:15 +0000 Subject: add requestItems and rename requestInformation to requestInfo --- src/QXmppDiscoveryManager.cpp | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'src/QXmppDiscoveryManager.cpp') diff --git a/src/QXmppDiscoveryManager.cpp b/src/QXmppDiscoveryManager.cpp index 79315015..a97c7c79 100644 --- a/src/QXmppDiscoveryManager.cpp +++ b/src/QXmppDiscoveryManager.cpp @@ -35,28 +35,43 @@ bool QXmppDiscoveryManager::handleStanza(QXmppStream *stream, const QDomElement { if (element.tagName() == "iq" && QXmppDiscoveryIq::isDiscoveryIq(element)) { - QXmppDiscoveryIq infoIq; - infoIq.parse(element); + QXmppDiscoveryIq receivedIq; + receivedIq.parse(element); - if(infoIq.type() == QXmppIq::Get && - infoIq.queryType() == QXmppDiscoveryIq::InfoQuery && - (infoIq.queryNode().isEmpty() || infoIq.queryNode().startsWith(QString(capabilities_node)))) + if(receivedIq.type() == QXmppIq::Get && + receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery && + (receivedIq.queryNode().isEmpty() || receivedIq.queryNode().startsWith(QString(capabilities_node)))) { // respond to query QXmppDiscoveryIq qxmppFeatures = capabilities(); - qxmppFeatures.setId(infoIq.id()); - qxmppFeatures.setTo(infoIq.from()); - qxmppFeatures.setQueryNode(infoIq.queryNode()); + qxmppFeatures.setId(receivedIq.id()); + qxmppFeatures.setTo(receivedIq.from()); + qxmppFeatures.setQueryNode(receivedIq.queryNode()); stream->sendPacket(qxmppFeatures); } + else if(receivedIq.queryType() == QXmppDiscoveryIq::InfoQuery) + emit infoReceived(receivedIq); + else if(receivedIq.queryType() == QXmppDiscoveryIq::ItemsQuery) + emit itemsReceived(receivedIq); - emit informationReceived(infoIq); return true; } return false; } -void QXmppDiscoveryManager::requestInformation(const QString& jid, const QString& node) +void QXmppDiscoveryManager::requestInfo(const QString& jid, const QString& node) +{ + QXmppDiscoveryIq request; + request.setType(QXmppIq::Get); + request.setQueryType(QXmppDiscoveryIq::InfoQuery); + request.setTo(jid); + request.setFrom(client()->configuration().jid()); + if(!node.isEmpty()) + request.setQueryNode(node); + client()->sendPacket(request); +} + +void QXmppDiscoveryManager::requestItems(const QString& jid, const QString& node) { QXmppDiscoveryIq request; request.setType(QXmppIq::Get); -- cgit v1.2.3