aboutsummaryrefslogtreecommitdiff
path: root/lib/events
diff options
context:
space:
mode:
Diffstat (limited to 'lib/events')
-rw-r--r--lib/events/roomkeyevent.cpp11
-rw-r--r--lib/events/roomkeyevent.h25
2 files changed, 36 insertions, 0 deletions
diff --git a/lib/events/roomkeyevent.cpp b/lib/events/roomkeyevent.cpp
new file mode 100644
index 00000000..1fb2e9f5
--- /dev/null
+++ b/lib/events/roomkeyevent.cpp
@@ -0,0 +1,11 @@
+#include "roomkeyevent.h"
+
+using namespace Quotient;
+
+RoomKeyEvent::RoomKeyEvent(const QJsonObject &obj) : Event(typeId(), obj)
+{
+ _algorithm = contentJson()["algorithm"_ls].toString();
+ _roomId = contentJson()["room_id"_ls].toString();
+ _sessionId = contentJson()["session_id"_ls].toString();
+ _sessionKey = contentJson()["session_key"_ls].toString();
+}
diff --git a/lib/events/roomkeyevent.h b/lib/events/roomkeyevent.h
new file mode 100644
index 00000000..e4bcfd71
--- /dev/null
+++ b/lib/events/roomkeyevent.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include "event.h"
+
+namespace Quotient {
+class RoomKeyEvent : public Event
+{
+public:
+ DEFINE_EVENT_TYPEID("m.room_key", RoomKeyEvent)
+
+ RoomKeyEvent(const QJsonObject& obj);
+
+ const QString algorithm() const { return _algorithm; }
+ const QString roomId() const { return _roomId; }
+ const QString sessionId() const { return _sessionId; }
+ const QString sessionKey() const { return _sessionKey; }
+
+private:
+ QString _algorithm;
+ QString _roomId;
+ QString _sessionId;
+ QString _sessionKey;
+};
+REGISTER_EVENT_TYPE(RoomKeyEvent)
+} // namespace Quotient