diff options
author | Alexey Andreyev <aa13q@ya.ru> | 2019-08-23 17:03:14 +0300 |
---|---|---|
committer | Alexey Andreev <aa13q@ya.ru> | 2020-02-25 17:31:32 +0300 |
commit | 283208f8f891aafaaa0ae573bd8b9fcda783da12 (patch) | |
tree | 8546d63ddcc154eb6c1679875bdc9b366100bda9 | |
parent | 60c0f079f0366e501de6658b5fb56ec905da0c31 (diff) | |
download | libquotient-283208f8f891aafaaa0ae573bd8b9fcda783da12.tar.gz libquotient-283208f8f891aafaaa0ae573bd8b9fcda783da12.zip |
E2EE: implement SyncData::deviceOneTimeKeysCount
Signed-off-by: Alexey Andreev <aa13q@ya.ru>
-rw-r--r-- | lib/syncdata.cpp | 7 | ||||
-rw-r--r-- | lib/syncdata.h | 5 |
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); }; |