aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppPresence.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-05 05:50:58 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-10-05 05:50:58 +0000
commit051e4c3e5260671d0031e86cbf948c72f15e4548 (patch)
treef4d68017cfdd79f33178dbabea580cf5cf4a7b02 /src/QXmppPresence.cpp
parent34c0096788e3eeb2863a6e6cd71dcb7470ffdd4d (diff)
downloadqxmpp-051e4c3e5260671d0031e86cbf948c72f15e4548.tar.gz
add cap functions
Diffstat (limited to 'src/QXmppPresence.cpp')
-rw-r--r--src/QXmppPresence.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/QXmppPresence.cpp b/src/QXmppPresence.cpp
index 19ed0d50..1cc5a74e 100644
--- a/src/QXmppPresence.cpp
+++ b/src/QXmppPresence.cpp
@@ -96,6 +96,13 @@ void QXmppPresence::parse(const QDomElement &element)
m_vCardUpdateType = PhotoNotReady;
}
}
+ // XEP-0115: Entity Capabilities
+ else if(xElement.tagName() == "c" && xElement.namespaceURI() == ns_capabilities)
+ {
+ m_capabilityNode = xElement.attribute("node");
+ m_capabilityVer = xElement.attribute("ver");
+ m_capabilityHash = xElement.attribute("hash");
+ }
else if (xElement.tagName() != "error")
{
// other extensions
@@ -139,6 +146,16 @@ void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter) const
xmlWriter->writeEndElement();
}
+ if(!m_capabilityNode.isEmpty() && !m_capabilityVer.isEmpty()
+ && !m_capabilityHash.isEmpty())
+ {
+ xmlWriter->writeStartElement("c");
+ helperToXmlAddAttribute(xmlWriter, "xmlns", ns_capabilities);
+ helperToXmlAddAttribute(xmlWriter, "hash", m_capabilityHash);
+ helperToXmlAddAttribute(xmlWriter, "node", m_capabilityNode);
+ helperToXmlAddAttribute(xmlWriter, "ver", m_capabilityVer);
+ }
+
foreach (const QXmppElement &extension, extensions())
extension.toXml(xmlWriter);
@@ -394,6 +411,37 @@ void QXmppPresence::setVCardUpdateType(VCardUpdateType type)
m_vCardUpdateType = type;
}
+QString QXmppPresence::getCapabilityNode()
+{
+ return m_capabilityNode;
+}
+
+void QXmppPresence::setCapabilityNode(const QString& node)
+{
+ m_capabilityNode = node;
+}
+
+QString QXmppPresence::getCapabilityVer()
+{
+ return m_capabilityVer;
+}
+
+void QXmppPresence::setCapabilityVer(const QString& ver)
+{
+ m_capabilityVer = ver;
+}
+
+QString QXmppPresence::getCapabilityHash()
+{
+ return m_capabilityHash;
+}
+
+void QXmppPresence::setCapabilityHash(const QString& hash)
+{
+ m_capabilityHash = hash;
+}
+
+
/// \cond
QXmppPresence::Type QXmppPresence::getType() const