aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppUtils.cpp
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2009-10-20 11:43:45 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2009-10-20 11:43:45 +0000
commite2be03e254a956024c9d67b19b8a809c9692b6f1 (patch)
tree4da3e5da19d109bf34d02ed9359065c73be176ab /source/QXmppUtils.cpp
parenta9d542be47e91ae39390247f8c8bbb21d588388f (diff)
downloadqxmpp-e2be03e254a956024c9d67b19b8a809c9692b6f1.tar.gz
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
Diffstat (limited to 'source/QXmppUtils.cpp')
-rw-r--r--source/QXmppUtils.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/source/QXmppUtils.cpp b/source/QXmppUtils.cpp
index b34f9902..c4b50fe0 100644
--- a/source/QXmppUtils.cpp
+++ b/source/QXmppUtils.cpp
@@ -25,7 +25,7 @@
#include "QXmppUtils.h"
#include "QXmppLogger.h"
#include <QString>
-#include <QTextStream>
+#include <QXmlStreamWriter>
#include <QByteArray>
#include <QBuffer>
#include <QImageReader>
@@ -41,30 +41,25 @@ QString jidToBareJid(const QString& jid)
return jid.left(jid.indexOf(QChar('/')));
}
-void helperToXmlAddAttribute(QTextStream& stream, const QString& name,
+void helperToXmlAddAttribute(QXmlStreamWriter* stream, const QString& name,
const QString& value)
{
if(!value.isEmpty())
- stream << " " << name <<"='" << value << "'";
+ stream->writeAttribute(name,value);
}
-void helperToXmlAddElement(QTextStream& stream, const QString& name, int value)
+void helperToXmlAddNumberElement(QXmlStreamWriter* stream, const QString& name, int value)
{
- stream << "<" << name << ">" << value << "</" << name << ">";
+ stream->writeTextElement( name, QString::number(value));
}
-void helperToXmlAddElement(QTextStream& stream, const QString& name,
+void helperToXmlAddTextElement(QXmlStreamWriter* stream, const QString& name,
const QString& value)
{
if(!value.isEmpty())
- stream << "<" << name << ">" << value << "</" << name << ">";
-}
-
-void helperToXmlAddElement(QTextStream& stream, const QString& name,
- const QByteArray& value)
-{
- if(!value.isEmpty())
- stream << "<" << name << ">" << value << "</" << name << ">";
+ stream->writeTextElement( name, value);
+ else
+ stream->writeEmptyElement(name);
}
void log(const QString& str)