From e81ac79b541a4ae0a4fd79580683ba1fcaeaef5f Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 5 Oct 2010 06:57:29 +0000 Subject: use the native support of capability extension --- examples/GuiClient/mainDialog.cpp | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) (limited to 'examples/GuiClient/mainDialog.cpp') 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); } -- cgit v1.2.3