aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppStream.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-02-01 10:57:30 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-02-01 10:57:30 +0000
commit3c7f718e0595ad041b52a6d27116b70bef62fb60 (patch)
tree98da84e51f8391b3b38306344cb791154a3fc142 /source/QXmppStream.cpp
parent401f701dde7d2334deb58d7d6237364def6206ea (diff)
downloadqxmpp-3c7f718e0595ad041b52a6d27116b70bef62fb60.tar.gz
report XMPP stream errors (issue #40)
Diffstat (limited to 'source/QXmppStream.cpp')
-rw-r--r--source/QXmppStream.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp
index 0e18b404..7d252a35 100644
--- a/source/QXmppStream.cpp
+++ b/source/QXmppStream.cpp
@@ -341,6 +341,14 @@ void QXmppStream::parser(const QByteArray& data)
m_sessionAvaliable = true;
}
}
+ else if(ns == ns_stream && nodeRecv.tagName() == "error")
+ {
+ if (!nodeRecv.firstChildElement("conflict").isNull())
+ m_xmppStreamError = QXmppClient::ConflictStreamError;
+ else
+ m_xmppStreamError = QXmppClient::UnknownStreamError;
+ emit error(QXmppClient::XmppStreamError);
+ }
else if(ns == ns_tls)
{
if(nodeRecv.tagName() == "proceed")
@@ -997,6 +1005,11 @@ QAbstractSocket::SocketError QXmppStream::getSocketError()
return m_socketError;
}
+QXmppClient::StreamError QXmppStream::getXmppStreamError()
+{
+ return m_xmppStreamError;
+}
+
QXmppVCardManager& QXmppStream::getVCardManager()
{
return m_vCardManager;