diff options
author | Konstantinos Sideris <sideris.konstantin@gmail.com> | 2017-11-06 22:14:16 +0200 |
---|---|---|
committer | Konstantinos Sideris <sideris.konstantin@gmail.com> | 2017-11-06 22:14:16 +0200 |
commit | 24dd76ee0bca1a593781d366a41017f5b1d9ec07 (patch) | |
tree | a8ef42603c3834e8c0489dc01180a0902296e4a2 /src | |
parent | 9cf5bf3833e17d736000e1e0e493d48ff325dd1b (diff) |
Parse unsigned key
Diffstat (limited to 'src')
-rw-r--r-- | src/events/Event.cc | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/events/Event.cc b/src/events/Event.cc index 1b03e1e6..7e5bd1db 100644 --- a/src/events/Event.cc +++ b/src/events/Event.cc @@ -78,3 +78,29 @@ matrix::events::isMessageEvent(EventType type) { return type == EventType::RoomMessage; } + +void +matrix::events::UnsignedData::deserialize(const QJsonValue &data) +{ + if (!data.isObject()) + throw DeserializationException("UnsignedData is not a JSON object"); + + auto object = data.toObject(); + + transaction_id_ = object.value("transaction_id").toString(); + age_ = object.value("age").toDouble(); +} + +QJsonObject +matrix::events::UnsignedData::serialize() const +{ + QJsonObject object; + + if (!transaction_id_.isEmpty()) + object["transaction_id"] = transaction_id_; + + if (age_ > 0) + object["age"] = age_; + + return object; +} |