5 #include <Quotient/csapi/definitions/wellknown/homeserver.h>
6 #include <Quotient/csapi/definitions/wellknown/identity_server.h>
8 #include <Quotient/converters.h>
14 HomeserverInformation homeserver;
16 std::optional<IdentityServerInformation> identityServer{};
19 QVariantHash additionalProperties{};
23 struct JsonObjectConverter<DiscoveryInformation> {
24 static void dumpTo(QJsonObject& jo,
const DiscoveryInformation& pod)
26 fillJson(jo, pod.additionalProperties);
27 addParam<>(jo,
"m.homeserver"_L1, pod.homeserver);
28 addParam<IfNotEmpty>(jo,
"m.identity_server"_L1, pod.identityServer);
30 static void fillFrom(QJsonObject jo, DiscoveryInformation& pod)
32 fillFromJson(jo.take(
"m.homeserver"_L1), pod.homeserver);
33 fillFromJson(jo.take(
"m.identity_server"_L1), pod.identityServer);
34 fromJson(jo, pod.additionalProperties);