From 5559ed29681d031f36e7a7d011e3ec4bec3635f5 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sat, 24 Oct 2015 00:19:25 +0200 Subject: Implement XEP-0352: Client State Indication This commit is based on a pull request by fbeutel (GitHub) (see #87) and was rebased and slightly modified by me. --- src/base/QXmppStreamFeatures.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/base/QXmppStreamFeatures.cpp') diff --git a/src/base/QXmppStreamFeatures.cpp b/src/base/QXmppStreamFeatures.cpp index fd2832dc..b4b51cfc 100644 --- a/src/base/QXmppStreamFeatures.cpp +++ b/src/base/QXmppStreamFeatures.cpp @@ -31,7 +31,8 @@ QXmppStreamFeatures::QXmppStreamFeatures() m_sessionMode(Disabled), m_nonSaslAuthMode(Disabled), m_tlsMode(Disabled), - m_streamManagementMode(Disabled) + m_streamManagementMode(Disabled), + m_csiMode(Disabled) { } @@ -105,6 +106,16 @@ void QXmppStreamFeatures::setStreamManagementMode(QXmppStreamFeatures::Mode mode m_streamManagementMode = mode; } +QXmppStreamFeatures::Mode QXmppStreamFeatures::clientStateIndicationMode() const +{ + return m_csiMode; +} + +void QXmppStreamFeatures::setClientStateIndicationMode(QXmppStreamFeatures::Mode mode) +{ + m_csiMode = mode; +} + /// \cond bool QXmppStreamFeatures::isStreamFeatures(const QDomElement &element) { @@ -136,6 +147,7 @@ void QXmppStreamFeatures::parse(const QDomElement &element) m_nonSaslAuthMode = readFeature(element, "auth", ns_authFeature); m_tlsMode = readFeature(element, "starttls", ns_tls); m_streamManagementMode = readFeature(element, "sm", ns_stream_management); + m_csiMode = readFeature(element, "csi", ns_csi); // parse advertised compression methods QDomElement compression = element.firstChildElement("compression"); @@ -181,6 +193,7 @@ void QXmppStreamFeatures::toXml(QXmlStreamWriter *writer) const writeFeature(writer, "auth", ns_authFeature, m_nonSaslAuthMode); writeFeature(writer, "starttls", ns_tls, m_tlsMode); writeFeature(writer, "sm", ns_stream_management, m_streamManagementMode); + writeFeature(writer, "csi", ns_csi, m_csiMode); if (!m_compressionMethods.isEmpty()) { -- cgit v1.2.3