From 051e4c3e5260671d0031e86cbf948c72f15e4548 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 5 Oct 2010 05:50:58 +0000 Subject: add cap functions --- src/QXmppPresence.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'src/QXmppPresence.cpp') 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 -- cgit v1.2.3