aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppStanza.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-02-22 17:43:50 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-02-22 17:43:50 +0000
commit48209ff6f17233b995b4a1dc9879a4ef15757c81 (patch)
treefd64e7ee39ad6c7e3a4e601cd6cf674f8ad3fa4a /source/QXmppStanza.cpp
parenteddc6bebeed612f448bb1b59dfba1f942032b046 (diff)
downloadqxmpp-48209ff6f17233b995b4a1dc9879a4ef15757c81.tar.gz
make it possible to get/set stanza error code
Diffstat (limited to 'source/QXmppStanza.cpp')
-rw-r--r--source/QXmppStanza.cpp32
1 files changed, 26 insertions, 6 deletions
diff --git a/source/QXmppStanza.cpp b/source/QXmppStanza.cpp
index cf5d019a..e62ae5eb 100644
--- a/source/QXmppStanza.cpp
+++ b/source/QXmppStanza.cpp
@@ -31,19 +31,25 @@
uint QXmppStanza::s_uniqeIdNo = 0;
-QXmppStanza::Error::Error(): m_type(static_cast<QXmppStanza::Error::Type>(-1)),
- m_condition(static_cast<QXmppStanza::Error::Condition>(-1)),
- m_text("")
+QXmppStanza::Error::Error():
+ m_type(static_cast<QXmppStanza::Error::Type>(-1)),
+ m_code(0),
+ m_condition(static_cast<QXmppStanza::Error::Condition>(-1)),
+ m_text("")
{
}
QXmppStanza::Error::Error(Type type, Condition cond, const QString& text):
- m_type(type), m_condition(cond), m_text(text)
+ m_type(type),
+ m_code(0),
+ m_condition(cond),
+ m_text(text)
{
}
QXmppStanza::Error::Error(const QString& type, const QString& cond,
const QString& text):
+ m_code(0),
m_text(text)
{
setTypeFromStr(type);
@@ -55,6 +61,11 @@ void QXmppStanza::Error::setText(const QString& text)
m_text = text;
}
+void QXmppStanza::Error::setCode(int code)
+{
+ m_code = code;
+}
+
void QXmppStanza::Error::setCondition(QXmppStanza::Error::Condition cond)
{
m_condition = cond;
@@ -70,6 +81,11 @@ QString QXmppStanza::Error::getText() const
return m_text;
}
+int QXmppStanza::Error::getCode() const
+{
+ return m_code;
+}
+
QXmppStanza::Error::Condition QXmppStanza::Error::getCondition() const
{
return m_condition;
@@ -227,8 +243,11 @@ void QXmppStanza::Error::toXml( QXmlStreamWriter *writer ) const
return;
writer->writeStartElement("error");
- helperToXmlAddAttribute(writer,"type", type);
-
+ helperToXmlAddAttribute(writer, "type", type);
+
+ if (m_code > 0)
+ helperToXmlAddAttribute(writer, "code", QString::number(m_code));
+
if(!cond.isEmpty())
{
writer->writeStartElement(cond);
@@ -354,6 +373,7 @@ QXmppStanza::Error QXmppStanza::parseError(const QDomElement &errorElement)
element = element.nextSiblingElement();
}
+ error.setCode(errorElement.attribute("code").toInt());
error.setConditionFromStr(cond);
error.setTypeFromStr(type);
error.setText(text);