blob: 4136940f1123b870e4f2f792ad8145e532aede97 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// SPDX-FileCopyrightText: 2018 Kitsune Ral <kitsune-ral@users.sf.net>
// SPDX-License-Identifier: LGPL-2.1-or-later
#include "converters.h"
#include <QVariant>
#include "e2ee/e2ee.h"
QJsonValue Quotient::JsonConverter<QVariant>::dump(const QVariant& v)
{
if (v.canConvert<SignedOneTimeKey>()) {
return toJson(v.value<SignedOneTimeKey>());
}
return QJsonValue::fromVariant(v);
}
QVariant Quotient::JsonConverter<QVariant>::load(const QJsonValue& jv)
{
if (jv.isObject()) {
const QJsonObject obj = jv.toObject();
if (obj.contains(QLatin1String("key")) && obj.contains(QLatin1String("signatures"))) {
SignedOneTimeKey signedOneTimeKeys;
signedOneTimeKeys.key = obj[QLatin1String("key")].toString();
}
}
return jv.toVariant();
}
QJsonObject Quotient::toJson(const QVariantHash& vh)
{
return QJsonObject::fromVariantHash(vh);
}
template<>
QVariantHash Quotient::fromJson(const QJsonValue& jv)
{
return jv.toObject().toVariantHash();
}
|