diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-05 05:50:58 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-10-05 05:50:58 +0000 |
| commit | 051e4c3e5260671d0031e86cbf948c72f15e4548 (patch) | |
| tree | f4d68017cfdd79f33178dbabea580cf5cf4a7b02 /src/QXmppPresence.cpp | |
| parent | 34c0096788e3eeb2863a6e6cd71dcb7470ffdd4d (diff) | |
| download | qxmpp-051e4c3e5260671d0031e86cbf948c72f15e4548.tar.gz | |
add cap functions
Diffstat (limited to 'src/QXmppPresence.cpp')
| -rw-r--r-- | src/QXmppPresence.cpp | 48 |
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 |
