From e2be03e254a956024c9d67b19b8a809c9692b6f1 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 20 Oct 2009 11:43:45 +0000 Subject: Using QXmlStreamWriter for directly writing to the socket. This will avoid string concatenations and problems with XML escaping rules. and Fix for Issue 19: XMPP Version < 1.0 send NonSASL Auth query --- source/QXmppIq.cpp | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'source/QXmppIq.cpp') diff --git a/source/QXmppIq.cpp b/source/QXmppIq.cpp index 68857c0d..3eeef4af 100644 --- a/source/QXmppIq.cpp +++ b/source/QXmppIq.cpp @@ -25,7 +25,7 @@ #include "QXmppUtils.h" #include "QXmppIq.h" -#include +#include QXmppIq::QXmppIq(QXmppIq::Type type) : QXmppStanza(), m_type(type) @@ -55,30 +55,25 @@ void QXmppIq::setType(QXmppIq::Type type) m_type = type; } -QByteArray QXmppIq::toXml() const +void QXmppIq::toXml( QXmlStreamWriter *xmlWriter ) const { - QString data; - QTextStream stream(&data); + xmlWriter->writeStartElement("iq"); - stream << ""; - stream << toXmlElementFromChild(); - stream << getError().toXml(); - stream << ""; - - return data.toAscii(); + helperToXmlAddAttribute(xmlWriter, "type", getTypeStr()); + toXmlElementFromChild(xmlWriter); + getError().toXml(xmlWriter); + xmlWriter->writeEndElement(); } -QByteArray QXmppIq::toXmlElementFromChild() const +void QXmppIq::toXmlElementFromChild( QXmlStreamWriter *writer ) const { - return ""; + Q_UNUSED(writer); } QString QXmppIq::getTypeStr() const -- cgit v1.2.3