aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/syncdata.cpp7
-rw-r--r--lib/syncdata.h5
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/syncdata.cpp b/lib/syncdata.cpp
index 89c512a2..6e68e2cd 100644
--- a/lib/syncdata.cpp
+++ b/lib/syncdata.cpp
@@ -178,6 +178,13 @@ void SyncData::parseJson(const QJsonObject& json, const QString& baseDir)
accountData = load<Events>(json, "account_data"_ls);
toDeviceEvents = load<Events>(json, "to_device"_ls);
+ auto deviceOneTimeKeysCountVariantHash =
+ json.value("device_one_time_keys_count"_ls).toObject().toVariantHash();
+ for (auto key : deviceOneTimeKeysCountVariantHash.keys()) {
+ deviceOneTimeKeysCount_.insert(
+ key, deviceOneTimeKeysCountVariantHash.value(key).toInt());
+ }
+
auto rooms = json.value("rooms"_ls).toObject();
JoinStates::Int ii = 1; // ii is used to make a JoinState value
auto totalRooms = 0;
diff --git a/lib/syncdata.h b/lib/syncdata.h
index d55438d7..6e7183ee 100644
--- a/lib/syncdata.h
+++ b/lib/syncdata.h
@@ -92,6 +92,10 @@ public:
Events&& takePresenceData();
Events&& takeAccountData();
Events&& takeToDeviceEvents();
+ const QHash<QString, int>& deviceOneTimeKeysCount() const
+ {
+ return deviceOneTimeKeysCount_;
+ }
SyncDataList&& takeRoomData();
QString nextBatch() const { return nextBatch_; }
@@ -108,6 +112,7 @@ private:
Events toDeviceEvents;
SyncDataList roomData;
QStringList unresolvedRoomIds;
+ QHash<QString, int> deviceOneTimeKeysCount_;
static QJsonObject loadJson(const QString& fileName);
};