diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-14 13:03:15 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-14 13:03:15 +0000 |
| commit | 3fa5930402a3248334b72dd430481943c2a00cf4 (patch) | |
| tree | e7db57acbbd3cff81e3962a1b1c396bee8c68d73 /src/QXmppDiscoveryManager.cpp | |
| parent | 2a4f2c449733277198356078cef96d0a10d2403c (diff) | |
| download | qxmpp-3fa5930402a3248334b72dd430481943c2a00cf4.tar.gz | |
add requestItems and rename requestInformation to requestInfo
Diffstat (limited to 'src/QXmppDiscoveryManager.cpp')
| -rw-r--r-- | src/QXmppDiscoveryManager.cpp | 35 |
1 files changed, 25 insertions, 10 deletions
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);
|
