summaryrefslogtreecommitdiffstats
path: root/src/events/Event.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/events/Event.cc')
-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;
+}