diff options
Diffstat (limited to 'lib/converters.cpp')
-rw-r--r-- | lib/converters.cpp | 52 |
1 files changed, 17 insertions, 35 deletions
diff --git a/lib/converters.cpp b/lib/converters.cpp index 41a9a65e..b0e3a4b6 100644 --- a/lib/converters.cpp +++ b/lib/converters.cpp @@ -1,59 +1,41 @@ -/****************************************************************************** -* Copyright (C) 2018 Kitsune Ral <kitsune-ral@users.sf.net> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU Lesser General Public -* License as published by the Free Software Foundation; either -* version 2.1 of the License, or (at your option) any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* Lesser General Public License for more details. -* -* You should have received a copy of the GNU Lesser General Public -* License along with this library; if not, write to the Free Software -* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ +// SPDX-FileCopyrightText: 2018 Kitsune Ral <kitsune-ral@users.sf.net> +// SPDX-License-Identifier: LGPL-2.1-or-later #include "converters.h" +#include "logging.h" #include <QtCore/QVariant> -using namespace QMatrixClient; - -QJsonValue QMatrixClient::variantToJson(const QVariant& v) +void Quotient::_impl::warnUnknownEnumValue(const QString& stringValue, + const char* enumTypeName) { - return QJsonValue::fromVariant(v); + qWarning(EVENTS).noquote() + << "Unknown" << enumTypeName << "value:" << stringValue; } -QJsonObject QMatrixClient::toJson(const QVariantMap& map) +void Quotient::_impl::reportEnumOutOfBounds(uint32_t v, const char* enumTypeName) { - return QJsonObject::fromVariantMap(map); + qCritical(MAIN).noquote() + << "Value" << v << "is out of bounds for enumeration" << enumTypeName; } -#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0)) -QJsonObject QMatrixClient::toJson(const QVariantHash& hMap) +QJsonValue Quotient::JsonConverter<QVariant>::dump(const QVariant& v) { - return QJsonObject::fromVariantHash(hMap); + return QJsonValue::fromVariant(v); } -#endif -QVariant FromJson<QVariant>::operator()(const QJsonValue& jv) const +QVariant Quotient::JsonConverter<QVariant>::load(const QJsonValue& jv) { return jv.toVariant(); } -QMap<QString, QVariant> -FromJson<QMap<QString, QVariant>>::operator()(const QJsonValue& jv) const +QJsonObject Quotient::toJson(const QVariantHash& vh) { - return jv.toObject().toVariantMap(); + return QJsonObject::fromVariantHash(vh); } -#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0)) -QHash<QString, QVariant> -FromJson<QHash<QString, QVariant>>::operator()(const QJsonValue& jv) const +template<> +QVariantHash Quotient::fromJson(const QJsonValue& jv) { return jv.toObject().toVariantHash(); } -#endif |