summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qvariant.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-07-14 00:14:48 +0200
committerLars Knoll <lars.knoll@qt.io>2020-08-24 00:18:10 +0200
commit53047c3623c28a3184c17120a309055d2f189a77 (patch)
treed2350a19406f0cac508a11b3715ee032ca652823 /src/corelib/kernel/qvariant.cpp
parentb69a1d8eed438b9cc3bc9ff4e0bde8977ea3bd49 (diff)
Move QJsonValue and QCborValue conversions to QMetaType
Change-Id: Id4796e0913c0c5b0abce0ea27bed0f7b41bc0cca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qvariant.cpp')
-rw-r--r--src/corelib/kernel/qvariant.cpp151
1 files changed, 0 insertions, 151 deletions
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index 114aaa5ecf..f34e955082 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -255,8 +255,6 @@ static bool convert(const QVariant::Private *d, int t, void *result)
Q_ASSERT(d->typeId() != t);
Q_ASSERT(result);
- bool ok = true;
-
switch (uint(t)) {
case QMetaType::Nullptr:
*static_cast<std::nullptr_t *>(result) = nullptr;
@@ -271,155 +269,6 @@ static bool convert(const QVariant::Private *d, int t, void *result)
#endif
return false;
-#ifndef QT_BOOTSTRAPPED
- case QMetaType::QJsonValue:
- switch (d->typeId()) {
- case QMetaType::Nullptr:
- *static_cast<QJsonValue *>(result) = QJsonValue(QJsonValue::Null);
- break;
- case QMetaType::Bool:
- *static_cast<QJsonValue *>(result) = QJsonValue(d->get<bool>());
- break;
- case QMetaType::Int:
- case QMetaType::UInt:
- case QMetaType::Double:
- case QMetaType::Float:
- case QMetaType::ULong:
- case QMetaType::Long:
- case QMetaType::LongLong:
- case QMetaType::ULongLong:
- case QMetaType::UShort:
- case QMetaType::UChar:
- case QMetaType::Char:
- case QMetaType::SChar:
- case QMetaType::Short:
- *static_cast<QJsonValue *>(result) = QJsonValue(qConvertToRealNumber(d, &ok));
- Q_ASSERT(ok);
- break;
- case QMetaType::QString:
- *static_cast<QJsonValue *>(result) = QJsonValue(d->get<QString>());
- break;
- case QMetaType::QStringList:
- *static_cast<QJsonValue *>(result) = QJsonValue(QJsonArray::fromStringList(d->get<QStringList>()));
- break;
- case QMetaType::QVariantList:
- *static_cast<QJsonValue *>(result) = QJsonValue(QJsonArray::fromVariantList(d->get<QVariantList>()));
- break;
- case QMetaType::QVariantMap:
- *static_cast<QJsonValue *>(result) = QJsonValue(QJsonObject::fromVariantMap(d->get<QVariantMap>()));
- break;
- case QMetaType::QVariantHash:
- *static_cast<QJsonValue *>(result) = QJsonValue(QJsonObject::fromVariantHash(d->get<QVariantHash>()));
- break;
- case QMetaType::QJsonObject:
- *static_cast<QJsonValue *>(result) = d->get<QJsonObject>();
- break;
- case QMetaType::QJsonArray:
- *static_cast<QJsonValue *>(result) = d->get<QJsonArray>();
- break;
- case QMetaType::QJsonDocument: {
- QJsonDocument doc = d->get<QJsonDocument>();
- *static_cast<QJsonValue *>(result) = doc.isArray() ? QJsonValue(doc.array()) : QJsonValue(doc.object());
- break;
- }
- case QMetaType::QCborValue:
- *static_cast<QJsonValue *>(result) = d->get<QCborValue>().toJsonValue();
- break;
- case QMetaType::QCborMap:
- *static_cast<QJsonValue *>(result) = d->get<QCborMap>().toJsonObject();
- break;
- case QMetaType::QCborArray:
- *static_cast<QJsonValue *>(result) = d->get<QCborArray>().toJsonArray();
- break;
- default:
- *static_cast<QJsonValue *>(result) = QJsonValue(QJsonValue::Undefined);
- return false;
- }
- break;
- case QMetaType::QCborSimpleType:
- if (d->typeId() == QMetaType::QCborValue && d->get<QCborValue>().isSimpleType()) {
- *static_cast<QCborSimpleType *>(result) = d->get<QCborValue>().toSimpleType();
- break;
- }
- return false;
- case QMetaType::QCborValue:
- switch (d->typeId()) {
- case QMetaType::Nullptr:
- *static_cast<QCborValue *>(result) = QCborValue(QCborValue::Null);
- break;
- case QMetaType::Bool:
- *static_cast<QCborValue *>(result) = QCborValue(d->get<bool>());
- break;
- case QMetaType::Int:
- case QMetaType::UInt:
- case QMetaType::ULong:
- case QMetaType::Long:
- case QMetaType::LongLong:
- case QMetaType::ULongLong:
- case QMetaType::UShort:
- case QMetaType::UChar:
- case QMetaType::Char:
- case QMetaType::SChar:
- case QMetaType::Short:
- *static_cast<QCborValue *>(result) = QCborValue(qConvertToNumber(d, &ok));
- Q_ASSERT(ok);
- break;
- case QMetaType::Double:
- case QMetaType::Float:
- *static_cast<QCborValue *>(result) = QCborValue(qConvertToRealNumber(d, &ok));
- Q_ASSERT(ok);
- break;
- case QMetaType::QString:
- *static_cast<QCborValue *>(result) = d->get<QString>();
- break;
- case QMetaType::QStringList:
- *static_cast<QCborValue *>(result) = QCborArray::fromStringList(d->get<QStringList>());
- break;
- case QMetaType::QByteArray:
- *static_cast<QCborValue *>(result) = d->get<QByteArray>();
- break;
- case QMetaType::QDate:
- *static_cast<QCborValue *>(result) = QCborValue(d->get<QDate>().startOfDay());
- break;
- case QMetaType::QDateTime:
- *static_cast<QCborValue *>(result) = QCborValue(d->get<QDateTime>());
- break;
- case QMetaType::QUrl:
- *static_cast<QCborValue *>(result) = QCborValue(d->get<QUrl>());
- break;
- case QMetaType::QJsonValue:
- *static_cast<QCborValue *>(result) = QCborValue::fromJsonValue(d->get<QJsonValue>());
- break;
- case QMetaType::QJsonObject:
- *static_cast<QCborValue *>(result) = QCborMap::fromJsonObject(d->get<QJsonObject>());
- break;
- case QMetaType::QJsonArray:
- *static_cast<QCborValue *>(result) = QCborArray::fromJsonArray(d->get<QJsonArray>());
- break;
- case QMetaType::QJsonDocument: {
- QJsonDocument doc = d->get<QJsonDocument>();
- if (doc.isArray())
- *static_cast<QCborValue *>(result) = QCborArray::fromJsonArray(doc.array());
- else
- *static_cast<QCborValue *>(result) = QCborMap::fromJsonObject(doc.object());
- break;
- }
- case QMetaType::QCborSimpleType:
- *static_cast<QCborValue *>(result) = d->get<QCborSimpleType>();
- break;
- case QMetaType::QCborMap:
- *static_cast<QCborValue *>(result) = d->get<QCborMap>();
- break;
- case QMetaType::QCborArray:
- *static_cast<QCborValue *>(result) = d->get<QCborArray>();
- break;
- default:
- *static_cast<QCborValue *>(result) = {};
- return false;
- }
- break;
-#endif
-
default:
return false;
}