diff options
Diffstat (limited to 'src/events/Event.cc')
-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; +} |