summaryrefslogtreecommitdiffstats
path: root/tools/qscxmlc
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-12-01 13:00:23 +0100
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-12-03 12:00:03 +0000
commit5ff4c9091abd680f9448b01db6ebffcb09505b27 (patch)
tree2c410a45d8ae4af7c4c7e4eb99ff0d28e97e29f5 /tools/qscxmlc
parent3a0ef372c00bdfd51f2a6b8306a48965f6faec7f (diff)
Change QScxmlEvent::{name,sendId} from QByteArray to QString.
Change-Id: I1da62c00865b955864df0326a247bafba6c763ff Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
Diffstat (limited to 'tools/qscxmlc')
-rw-r--r--tools/qscxmlc/scxmlcppdumper.cpp63
1 files changed, 2 insertions, 61 deletions
diff --git a/tools/qscxmlc/scxmlcppdumper.cpp b/tools/qscxmlc/scxmlcppdumper.cpp
index 5902c11..96e42fc 100644
--- a/tools/qscxmlc/scxmlcppdumper.cpp
+++ b/tools/qscxmlc/scxmlcppdumper.cpp
@@ -428,7 +428,7 @@ protected:
QStringList elements;
foreach (const QString &event, node->events)
elements.append(qba(event));
- initializer += createList(QStringLiteral("QByteArray"), elements);
+ initializer += createList(QStringLiteral("QString"), elements);
initializer += QStringLiteral(")");
clazz.constructor.initializer << initializer;
@@ -1004,70 +1004,11 @@ private:
clazz.dataMethods << QStringLiteral("}");
clazz.dataMethods << QString();
}
-
- { // byte arrays
- t << QStringLiteral("#define BA_LIT(idx, ofs, len) \\")
- << QStringLiteral(" Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \\")
- << QStringLiteral(" qptrdiff(offsetof(ByteArrays, stringdata) + ofs - idx * sizeof(QByteArrayData)) \\")
- << QStringLiteral(" )");
-
- t << QStringLiteral("%1::Data::ByteArrays %1::Data::byteArrays = {{").arg(clazz.className);
- auto byteArrays = td->byteArrayTable();
- if (byteArrays.isEmpty()) // prevent generation of empty array
- byteArrays.append(QByteArray(""));
- int charCount = 0;
- QString charData;
- generateList(t, [&charCount, &charData, &byteArrays](int idx) -> QString {
- if (idx >= byteArrays.size())
- return QString();
-
- auto ba = byteArrays.at(idx);
- QString str = QStringLiteral("BA_LIT(%1, %2, %3)").arg(QString::number(idx),
- QString::number(charCount),
- QString::number(ba.size()));
- charData += toHex(QString::fromUtf8(ba)) + QStringLiteral("\\x00");
- charCount += ba.size() + 1;
- return str;
- });
- t << QStringLiteral("},");
- if (byteArrays.isEmpty()) {
- t << QStringLiteral("\"\"");
- } else {
- foreach (const QByteArray &ba, byteArrays) {
- QString s = QString::fromUtf8(ba);
- t << QStringLiteral("\"%1\" // %2").arg(toHex(s) + QStringLiteral("\\x00"), cEscape(s));
- }
- }
- t << QStringLiteral("};") << QStringLiteral("");
-
- clazz.classFields << QStringLiteral("static struct ByteArrays {")
- << QStringLiteral(" QByteArrayData data[%1];").arg(byteArrays.size())
- << QStringLiteral(" char stringdata[%1];").arg(charCount + 1)
- << QStringLiteral("} byteArrays;");
-
- clazz.dataMethods << QStringLiteral("QByteArray byteArray(QScxmlExecutableContent::ByteArrayId id) const Q_DECL_OVERRIDE Q_DECL_FINAL");
- clazz.dataMethods << QStringLiteral("{");
- clazz.dataMethods << QStringLiteral(" Q_ASSERT(id >= QScxmlExecutableContent::NoByteArray); Q_ASSERT(id < %1);").arg(byteArrays.size());
- clazz.dataMethods << QStringLiteral(" if (id == QScxmlExecutableContent::NoByteArray) return QByteArray();");
- if (translationUnit->useCxx11) {
- clazz.dataMethods << QStringLiteral(" return QByteArray({byteArrays.data + id});");
- } else {
- clazz.dataMethods << QStringLiteral(" QByteArrayDataPtr data;");
- clazz.dataMethods << QStringLiteral(" data.ptr = byteArrays.data + id;");
- clazz.dataMethods << QStringLiteral(" return QByteArray(data);");
- }
- clazz.dataMethods << QStringLiteral("}");
- clazz.dataMethods << QString();
- }
}
QString qba(const QString &bytes)
{
-// QString str = QString::fromLatin1("QByteArray::fromRawData(\"");
-// auto esc = cEscape(bytes);
-// str += esc + QLatin1String("\", ") + QString::number(esc.length()) + QLatin1String(")");
-// return str;
- return QStringLiteral("byteArray(%1)").arg(addByteArray(bytes.toUtf8()));
+ return QStringLiteral("string(%1)").arg(addString(bytes));
}
QString scxmlClassName(DocumentModel::ScxmlDocument *doc) const