diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-05 06:57:29 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-05 06:57:29 +0000 |
| commit | e81ac79b541a4ae0a4fd79580683ba1fcaeaef5f (patch) | |
| tree | 3b0662edcb5174240b3852de919db9a26c3842ad /examples/GuiClient/mainDialog.cpp | |
| parent | c0880a9c578f8830c614d802e305728c42165d47 (diff) | |
| download | qxmpp-e81ac79b541a4ae0a4fd79580683ba1fcaeaef5f.tar.gz | |
use the native support of capability extension
Diffstat (limited to 'examples/GuiClient/mainDialog.cpp')
| -rw-r--r-- | examples/GuiClient/mainDialog.cpp | 34 |
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); } |
