diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-20 11:43:45 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-20 11:43:45 +0000 |
| commit | e2be03e254a956024c9d67b19b8a809c9692b6f1 (patch) | |
| tree | 4da3e5da19d109bf34d02ed9359065c73be176ab /source/QXmppBind.cpp | |
| parent | a9d542be47e91ae39390247f8c8bbb21d588388f (diff) | |
| download | qxmpp-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/QXmppBind.cpp')
| -rw-r--r-- | source/QXmppBind.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/source/QXmppBind.cpp b/source/QXmppBind.cpp index f7282151..1d37e025 100644 --- a/source/QXmppBind.cpp +++ b/source/QXmppBind.cpp @@ -27,6 +27,7 @@ #include "QXmppConstants.h"
#include <QTextStream>
+#include <QXmlStreamWriter>
QXmppBind::QXmppBind(QXmppIq::Type type)
: QXmppIq(type)
@@ -61,18 +62,15 @@ void QXmppBind::setResource(const QString& str) m_resource = str;
}
-QByteArray QXmppBind::toXmlElementFromChild() const
+void QXmppBind::toXmlElementFromChild(QXmlStreamWriter *writer) const
{
QString data;
QTextStream stream(&data);
- stream << "<bind";
- helperToXmlAddAttribute(stream, "xmlns", ns_bind);
- stream << ">";
- helperToXmlAddElement(stream, "jid", getJid());
- helperToXmlAddElement(stream, "resource", getResource());
- stream << "</bind>";
-
- return data.toAscii();
+ writer->writeStartElement("bind");
+ helperToXmlAddAttribute(writer, "xmlns", ns_bind);
+ helperToXmlAddTextElement(writer, "jid", getJid() );
+ helperToXmlAddTextElement(writer, "resource", getResource());
+ writer->writeEndElement();
}
|
