diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-22 17:43:50 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-22 17:43:50 +0000 |
| commit | 48209ff6f17233b995b4a1dc9879a4ef15757c81 (patch) | |
| tree | fd64e7ee39ad6c7e3a4e601cd6cf674f8ad3fa4a /source/QXmppStanza.cpp | |
| parent | eddc6bebeed612f448bb1b59dfba1f942032b046 (diff) | |
| download | qxmpp-48209ff6f17233b995b4a1dc9879a4ef15757c81.tar.gz | |
make it possible to get/set stanza error code
Diffstat (limited to 'source/QXmppStanza.cpp')
| -rw-r--r-- | source/QXmppStanza.cpp | 32 |
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); |
