aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/mainDialog.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-05 06:57:29 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-05 06:57:29 +0000
commite81ac79b541a4ae0a4fd79580683ba1fcaeaef5f (patch)
tree3b0662edcb5174240b3852de919db9a26c3842ad /examples/GuiClient/mainDialog.cpp
parentc0880a9c578f8830c614d802e305728c42165d47 (diff)
downloadqxmpp-e81ac79b541a4ae0a4fd79580683ba1fcaeaef5f.tar.gz
use the native support of capability extension
Diffstat (limited to 'examples/GuiClient/mainDialog.cpp')
-rw-r--r--examples/GuiClient/mainDialog.cpp34
1 files changed, 13 insertions, 21 deletions
diff --git a/examples/GuiClient/mainDialog.cpp b/examples/GuiClient/mainDialog.cpp
index e4ea6fe1..fba4f250 100644
--- a/examples/GuiClient/mainDialog.cpp
+++ b/examples/GuiClient/mainDialog.cpp
@@ -217,28 +217,20 @@ void mainDialog::presenceChanged(const QString& bareJid, const QString& resource
m_rosterItemModel.updatePresence(bareJid, presences);
QXmppPresence& pre = presences[resource];
- QString nodeVer;
- foreach(QXmppElement extension, pre.extensions())
+
+ QString node = pre.capabilityNode();
+ QString ver = pre.capabilityVer();
+ QStringList exts = pre.capabilityExt();
+
+ QString nodeVer = node + "#" + ver;
+ if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer))
+ m_capabilitiesCache.requestInfo(jid, nodeVer);
+
+ foreach(QString ext, exts)
{
- if(extension.tagName() == "c" &&
- extension.attribute("xmlns") == ns_capabilities)
- {
- QString node = extension.attribute("node");
- QString ver = extension.attribute("ver");
- QString exts = extension.attribute("ext");
- nodeVer = node + "#" + ver;
- if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer))
- m_capabilitiesCache.requestInfo(jid, nodeVer);
- if(!exts.isEmpty())
- {
- foreach(QString ext, exts.split(" ", QString::SkipEmptyParts))
- {
- nodeVer = node + "#" + ext;
- if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer))
- m_capabilitiesCache.requestInfo(jid, nodeVer);
- }
- }
- }
+ nodeVer = node + "#" + ext;
+ if(!m_capabilitiesCache.isCapabilityAvailable(nodeVer))
+ m_capabilitiesCache.requestInfo(jid, nodeVer);
}