aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppVCard.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/QXmppVCard.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/QXmppVCard.cpp')
-rw-r--r--source/QXmppVCard.cpp26
1 files changed, 10 insertions, 16 deletions
diff --git a/source/QXmppVCard.cpp b/source/QXmppVCard.cpp
index caf47ef8..8a5f4b0f 100644
--- a/source/QXmppVCard.cpp
+++ b/source/QXmppVCard.cpp
@@ -26,7 +26,7 @@
#include "QXmppUtils.h"
#include "QXmppConstants.h"
-#include <QTextStream>
+#include <QXmlStreamWriter>
#include <QImage>
#include <QBuffer>
@@ -85,27 +85,21 @@ void QXmppVCard::parse(const QDomElement& nodeRecv)
setPhoto(QByteArray::fromBase64(base64data));
}
-QByteArray QXmppVCard::toXmlElementFromChild() const
+void QXmppVCard::toXmlElementFromChild(QXmlStreamWriter *writer) const
{
- QString data;
- QTextStream stream(&data);
-
- stream << "<vCard";
- helperToXmlAddAttribute(stream, "xmlns", ns_vcard);
- stream << ">";
- helperToXmlAddElement(stream, "FN", getFullName());
+ writer->writeStartElement("vCard");
+ helperToXmlAddAttribute(writer,"xmlns", ns_vcard);
+ helperToXmlAddTextElement(writer, "FN", getFullName());
if(!getPhoto().isEmpty())
{
- stream << "<PHOTO>";
- helperToXmlAddElement(stream, "TYPE", getImageType(getPhoto()));
- helperToXmlAddElement(stream, "BINVAL", getPhoto().toBase64());
- stream << "</PHOTO>";
+ writer->writeStartElement("PHOTO");
+ helperToXmlAddTextElement(writer, "TYPE", getImageType(getPhoto()));
+ helperToXmlAddTextElement(writer, "BINVAL", getPhoto().toBase64());
+ writer->writeEndElement();
}
- stream << "</vCard>";
-
- return data.toAscii();
+ writer->writeEndElement();
}
QImage QXmppVCard::getPhotoAsImage() const