From 311778c569f2f97c4b99d2c8afea81dbc368dcc7 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Mon, 3 Sep 2012 12:58:12 +0200 Subject: add extended addresses to QXmppMessage and QXmppPresence --- src/base/QXmppMessage.cpp | 4 ++-- src/base/QXmppPresence.cpp | 4 ++-- src/base/QXmppStanza.cpp | 13 +++++-------- src/base/QXmppStanza.h | 2 +- 4 files changed, 10 insertions(+), 13 deletions(-) (limited to 'src/base') diff --git a/src/base/QXmppMessage.cpp b/src/base/QXmppMessage.cpp index d47233b9..8c692605 100644 --- a/src/base/QXmppMessage.cpp +++ b/src/base/QXmppMessage.cpp @@ -456,8 +456,8 @@ void QXmppMessage::toXml(QXmlStreamWriter *xmlWriter) const } // other extensions - foreach (const QXmppElement &extension, extensions()) - extension.toXml(xmlWriter); + QXmppStanza::extensionsToXml(xmlWriter); + xmlWriter->writeEndElement(); } /// \endcond diff --git a/src/base/QXmppPresence.cpp b/src/base/QXmppPresence.cpp index 4c33590e..1391adfe 100644 --- a/src/base/QXmppPresence.cpp +++ b/src/base/QXmppPresence.cpp @@ -316,8 +316,8 @@ void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter) const xmlWriter->writeEndElement(); } - foreach (const QXmppElement &extension, extensions()) - extension.toXml(xmlWriter); + // other extensions + QXmppStanza::extensionsToXml(xmlWriter); xmlWriter->writeEndElement(); } diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp index f73010ee..4a02b6c2 100644 --- a/src/base/QXmppStanza.cpp +++ b/src/base/QXmppStanza.cpp @@ -606,15 +606,8 @@ void QXmppStanza::parse(const QDomElement &element) } } -void QXmppStanza::toXmlElementFromChild(QXmlStreamWriter *xmlWriter) const +void QXmppStanza::extensionsToXml(QXmlStreamWriter *xmlWriter) const { - helperToXmlAddAttribute(xmlWriter, "xml:lang", d->lang); - helperToXmlAddAttribute(xmlWriter, "id", d->id); - helperToXmlAddAttribute(xmlWriter, "to", d->to); - helperToXmlAddAttribute(xmlWriter, "from", d->from); - - d->error.toXml(xmlWriter); - // XEP-0033: Extended Stanza Addressing if (!d->extendedAddresses.isEmpty()) { xmlWriter->writeStartElement("addresses"); @@ -623,6 +616,10 @@ void QXmppStanza::toXmlElementFromChild(QXmlStreamWriter *xmlWriter) const address.toXml(xmlWriter); xmlWriter->writeEndElement(); } + + // other extensions + foreach (const QXmppElement &extension, d->extensions) + extension.toXml(xmlWriter); } /// \endcond diff --git a/src/base/QXmppStanza.h b/src/base/QXmppStanza.h index 7c6f7bd3..d06fb4bf 100644 --- a/src/base/QXmppStanza.h +++ b/src/base/QXmppStanza.h @@ -194,8 +194,8 @@ public: virtual void toXml(QXmlStreamWriter *writer) const = 0; protected: + void extensionsToXml(QXmlStreamWriter *writer) const; void generateAndSetNextId(); - virtual void toXmlElementFromChild(QXmlStreamWriter *writer) const; /// \endcond private: -- cgit v1.2.3