diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2018-12-14 23:32:16 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-14 23:32:16 +0900 |
commit | fcc8d2ca615fce6e42bf1cf6585d60f94a2db926 (patch) | |
tree | b0dd17b632a5c5775f2221fd0b53b21a8c02ce58 /lib/csapi/definitions/push_rule.cpp | |
parent | 50571a92b4e9f634c4daf546222fa082120db6c7 (diff) | |
parent | 12a0b95fdcfea15cd0ef313aec8868656629b986 (diff) | |
download | libquotient-fcc8d2ca615fce6e42bf1cf6585d60f94a2db926.tar.gz libquotient-fcc8d2ca615fce6e42bf1cf6585d60f94a2db926.zip |
Merge pull request #263 from QMatrixClient/kitsune-lazy-loading
Lazy loading members
Diffstat (limited to 'lib/csapi/definitions/push_rule.cpp')
-rw-r--r-- | lib/csapi/definitions/push_rule.cpp | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/lib/csapi/definitions/push_rule.cpp b/lib/csapi/definitions/push_rule.cpp index baddd187..abbb04b5 100644 --- a/lib/csapi/definitions/push_rule.cpp +++ b/lib/csapi/definitions/push_rule.cpp @@ -6,34 +6,25 @@ using namespace QMatrixClient; -QJsonObject QMatrixClient::toJson(const PushRule& pod) +void JsonObjectConverter<PushRule>::dumpTo( + QJsonObject& jo, const PushRule& pod) { - QJsonObject jo; addParam<>(jo, QStringLiteral("actions"), pod.actions); addParam<>(jo, QStringLiteral("default"), pod.isDefault); addParam<>(jo, QStringLiteral("enabled"), pod.enabled); addParam<>(jo, QStringLiteral("rule_id"), pod.ruleId); addParam<IfNotEmpty>(jo, QStringLiteral("conditions"), pod.conditions); addParam<IfNotEmpty>(jo, QStringLiteral("pattern"), pod.pattern); - return jo; } -PushRule FromJsonObject<PushRule>::operator()(const QJsonObject& jo) const +void JsonObjectConverter<PushRule>::fillFrom( + const QJsonObject& jo, PushRule& result) { - PushRule result; - result.actions = - fromJson<QVector<QVariant>>(jo.value("actions"_ls)); - result.isDefault = - fromJson<bool>(jo.value("default"_ls)); - result.enabled = - fromJson<bool>(jo.value("enabled"_ls)); - result.ruleId = - fromJson<QString>(jo.value("rule_id"_ls)); - result.conditions = - fromJson<QVector<PushCondition>>(jo.value("conditions"_ls)); - result.pattern = - fromJson<QString>(jo.value("pattern"_ls)); - - return result; + fromJson(jo.value("actions"_ls), result.actions); + fromJson(jo.value("default"_ls), result.isDefault); + fromJson(jo.value("enabled"_ls), result.enabled); + fromJson(jo.value("rule_id"_ls), result.ruleId); + fromJson(jo.value("conditions"_ls), result.conditions); + fromJson(jo.value("pattern"_ls), result.pattern); } |