summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-11-06 22:14:16 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-11-06 22:14:16 +0200
commit24dd76ee0bca1a593781d366a41017f5b1d9ec07 (patch)
treea8ef42603c3834e8c0489dc01180a0902296e4a2 /src
parentAdjust appveyor configuration (diff)
downloadnheko-24dd76ee0bca1a593781d366a41017f5b1d9ec07.tar.xz
Parse unsigned key
Diffstat (limited to 'src')
-rw-r--r--src/events/Event.cc26
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; +}