diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2016-04-05 11:36:38 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2016-04-05 12:22:12 +0000 |
commit | fb492a968b7526fb3c9db5af9c12f15afcde3639 (patch) | |
tree | 0f37e8063130fae2e4e4a53ca6c6e0e9c52952da /tools | |
parent | db2f900e9914897a93b19cd9fd75f7d72ed6bd0b (diff) |
Use a plain QIODevice for dumping the C++
All the strings are converted to byte arrays already before.
Change-Id: Ibdd565e0560fe97ff9347f8153a03cd60c21a508
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qscxmlc/generator.cpp | 16 | ||||
-rw-r--r-- | tools/qscxmlc/generator.h | 8 | ||||
-rw-r--r-- | tools/qscxmlc/scxmlcppdumper.cpp | 5 |
3 files changed, 17 insertions, 12 deletions
diff --git a/tools/qscxmlc/generator.cpp b/tools/qscxmlc/generator.cpp index 99b7c3b..16acebe 100644 --- a/tools/qscxmlc/generator.cpp +++ b/tools/qscxmlc/generator.cpp @@ -40,7 +40,7 @@ QT_BEGIN_NAMESPACE -void fprintf(QTextStream &out, const char *fmt, ...) +void fprintf(QIODevice &out, const char *fmt, ...) { va_list argp; va_start(argp, fmt); @@ -48,17 +48,17 @@ void fprintf(QTextStream &out, const char *fmt, ...) char buf[bufSize]; vsnprintf(buf, bufSize, fmt, argp); va_end(argp); - out << buf; + out.write(buf); } -void fputc(char c, QTextStream &out) +void fputc(char c, QIODevice &out) { - out << c; + out.write(&c, 1); } -void fputs(const char *s, QTextStream &out) +void fputs(const char *s, QIODevice &out) { - out << s; + out.write(s); } uint nameToBuiltinType(const QByteArray &name) @@ -93,7 +93,9 @@ QT_FOR_EACH_STATIC_TYPE(RETURN_METATYPENAME_STRING) return 0; } -Generator::Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, QTextStream &outfile) +Generator::Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, + QByteArray> &knownQObjectClasses, const QHash<QByteArray, + QByteArray> &knownGadgets, QIODevice &outfile) : out(outfile), cdef(classDef), metaTypes(metaTypes), knownQObjectClasses(knownQObjectClasses) , knownGadgets(knownGadgets) { diff --git a/tools/qscxmlc/generator.h b/tools/qscxmlc/generator.h index 6388fe6..b22b9e3 100644 --- a/tools/qscxmlc/generator.h +++ b/tools/qscxmlc/generator.h @@ -32,17 +32,19 @@ #include "moc.h" #include <QHash> #include <QVector> -#include <QTextStream> +#include <QIODevice> QT_BEGIN_NAMESPACE class Generator { - QTextStream &out; + QIODevice &out; ClassDef *cdef; QVector<uint> meta_data; public: - Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, QTextStream &outfile); + Generator(ClassDef *classDef, const QList<QByteArray> &metaTypes, const QHash<QByteArray, + QByteArray> &knownQObjectClasses, const QHash<QByteArray, QByteArray> &knownGadgets, + QIODevice &outfile); void generateCode(); private: bool registerableMetaType(const QByteArray &propertyType); diff --git a/tools/qscxmlc/scxmlcppdumper.cpp b/tools/qscxmlc/scxmlcppdumper.cpp index be123b1..1e3e0b7 100644 --- a/tools/qscxmlc/scxmlcppdumper.cpp +++ b/tools/qscxmlc/scxmlcppdumper.cpp @@ -1216,8 +1216,9 @@ private: QBuffer buf(&clazz.metaData); buf.open(QIODevice::WriteOnly); - QTextStream out(&buf); - Generator(&classDef, QList<QByteArray>(), knownQObjectClasses, QHash<QByteArray, QByteArray>(), out).generateCode(); + Generator(&classDef, QList<QByteArray>(), knownQObjectClasses, + QHash<QByteArray, QByteArray>(), buf).generateCode(); + buf.close(); } QString qba(const QString &bytes) |