From d6266c757d2f2ea4ff1e71dc8545f9bf97aa3bb1 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Dec 2019 13:19:37 +0100 Subject: Replace usages of QVariant::value by qvariant_cast This is done automatically with a clazy check Change-Id: I3b59511d3d36d416c8eda74858ead611d327b116 Reviewed-by: Lars Knoll --- examples/corelib/serialization/convert/cborconverter.cpp | 2 +- examples/corelib/serialization/convert/datastreamconverter.cpp | 2 +- examples/corelib/serialization/convert/xmlconverter.cpp | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'examples/corelib/serialization/convert') diff --git a/examples/corelib/serialization/convert/cborconverter.cpp b/examples/corelib/serialization/convert/cborconverter.cpp index f907bb0af6..60410ed26a 100644 --- a/examples/corelib/serialization/convert/cborconverter.cpp +++ b/examples/corelib/serialization/convert/cborconverter.cpp @@ -144,7 +144,7 @@ static QCborValue convertFromVariant(const QVariant &v, TrimFloatingPoint fpTrim } if (v.userType() == qMetaTypeId()) { - const auto m = v.value(); + const auto m = qvariant_cast(v); QCborMap map; for (const auto &pair : m) map.insert(convertFromVariant(pair.first, fpTrimming), diff --git a/examples/corelib/serialization/convert/datastreamconverter.cpp b/examples/corelib/serialization/convert/datastreamconverter.cpp index 7cdb844141..7e9f5e1bdc 100644 --- a/examples/corelib/serialization/convert/datastreamconverter.cpp +++ b/examples/corelib/serialization/convert/datastreamconverter.cpp @@ -98,7 +98,7 @@ static QString dumpVariant(const QVariant &v, const QString &indent = QLatin1Str int type = v.userType(); if (type == qMetaTypeId() || type == QVariant::Map) { const auto map = (type == QVariant::Map) ? - VariantOrderedMap(v.toMap()) : v.value(); + VariantOrderedMap(v.toMap()) : qvariant_cast(v); result = QLatin1String("Map {"); for (const auto &pair : map) { diff --git a/examples/corelib/serialization/convert/xmlconverter.cpp b/examples/corelib/serialization/convert/xmlconverter.cpp index e62801bf76..d9e724dfe1 100644 --- a/examples/corelib/serialization/convert/xmlconverter.cpp +++ b/examples/corelib/serialization/convert/xmlconverter.cpp @@ -336,7 +336,7 @@ static void variantToXml(QXmlStreamWriter &xml, const QVariant &v) } else if (type == QVariant::Map || type == qMetaTypeId()) { const VariantOrderedMap map = (type == QVariant::Map) ? VariantOrderedMap(v.toMap()) : - v.value(); + qvariant_cast(v); xml.writeStartElement("map"); for (const auto &pair : map) { @@ -425,10 +425,10 @@ static void variantToXml(QXmlStreamWriter &xml, const QVariant &v) default: if (type == qMetaTypeId()) { xml.writeAttribute(typeString, "number"); - xml.writeCharacters(QString::number(float(v.value()))); + xml.writeCharacters(QString::number(float(qvariant_cast(v)))); } else if (type == qMetaTypeId()) { xml.writeAttribute(typeString, "CBOR simple type"); - xml.writeCharacters(QString::number(int(v.value()))); + xml.writeCharacters(QString::number(int(qvariant_cast(v)))); } else { // does this convert to string? const char *typeName = v.typeName(); -- cgit v1.2.3 From 89c4bb5f2473b4616fdccbcc616eedfaa5d628cc Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Wed, 8 Jan 2020 13:43:54 +0100 Subject: Deprecate QJsonDocument methods for converting to/from JSON binary Also remove the example code for deprecated methods and use CBOR instead where it makes sense. Task-number: QTBUG-81068 Change-Id: Iffb7a4b3d7b16a1e485fc05b3ab2e2468e9e0718 Reviewed-by: Ulf Hermann --- .../serialization/convert/jsonconverter.cpp | 60 ---------------------- .../corelib/serialization/convert/jsonconverter.h | 13 ----- 2 files changed, 73 deletions(-) (limited to 'examples/corelib/serialization/convert') diff --git a/examples/corelib/serialization/convert/jsonconverter.cpp b/examples/corelib/serialization/convert/jsonconverter.cpp index 80d1cc6827..ec24af703d 100644 --- a/examples/corelib/serialization/convert/jsonconverter.cpp +++ b/examples/corelib/serialization/convert/jsonconverter.cpp @@ -57,7 +57,6 @@ #include static JsonConverter jsonConverter; -static BinaryJsonConverter BinaryJsonConverter; static const char optionHelp[] = "compact=no|yes Use compact JSON form.\n"; @@ -151,62 +150,3 @@ void JsonConverter::saveFile(QIODevice *f, const QVariant &contents, const QStri f->write(convertFromVariant(contents).toJson(format)); } - -QString BinaryJsonConverter::name() -{ - return "binary-json"; -} - -Converter::Direction BinaryJsonConverter::directions() -{ - return InOut; -} - -Converter::Options BinaryJsonConverter::outputOptions() -{ - return {}; -} - -const char *BinaryJsonConverter::optionsHelp() -{ - return nullptr; -} - -bool BinaryJsonConverter::probeFile(QIODevice *f) -{ - return f->isReadable() && f->peek(4) == "qbjs"; -} - -QVariant BinaryJsonConverter::loadFile(QIODevice *f, Converter *&outputConverter) -{ - if (!outputConverter) - outputConverter = &jsonConverter; - - QJsonDocument doc; - if (auto file = qobject_cast(f)) { - uchar *ptr = file->map(0, file->size()); - if (ptr) - doc = QJsonDocument::fromRawData(reinterpret_cast(ptr), file->size()); - } - - if (doc.isNull()) - doc = QJsonDocument::fromBinaryData(f->readAll()); - - if (!doc.isObject() && !doc.isArray()) { - fprintf(stderr, "Failed to load Binary JSON.\n"); - exit(EXIT_FAILURE); - } - if (outputConverter == null) - return QVariant(); - return doc.toVariant(); -} - -void BinaryJsonConverter::saveFile(QIODevice *f, const QVariant &contents, const QStringList &options) -{ - if (!options.isEmpty()) { - fprintf(stderr, "Unknown option '%s' to JSON output. This format has no options.\n", qPrintable(options.first())); - exit(EXIT_FAILURE); - } - - f->write(convertFromVariant(contents).toBinaryData()); -} diff --git a/examples/corelib/serialization/convert/jsonconverter.h b/examples/corelib/serialization/convert/jsonconverter.h index 17170603c7..445a0e6695 100644 --- a/examples/corelib/serialization/convert/jsonconverter.h +++ b/examples/corelib/serialization/convert/jsonconverter.h @@ -69,17 +69,4 @@ public: void saveFile(QIODevice *f, const QVariant &contents, const QStringList &options) override; }; -class BinaryJsonConverter : public Converter -{ - // Converter interface -public: - QString name() override; - Direction directions() override; - Options outputOptions() override; - const char *optionsHelp() override; - bool probeFile(QIODevice *f) override; - QVariant loadFile(QIODevice *f, Converter *&outputConverter) override; - void saveFile(QIODevice *f, const QVariant &contents, const QStringList &options) override; -}; - #endif // JSONCONVERTER_H -- cgit v1.2.3