aboutsummaryrefslogtreecommitdiff
path: root/lib/events/roommemberevent.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/events/roommemberevent.h')
-rw-r--r--lib/events/roommemberevent.h22
1 files changed, 3 insertions, 19 deletions
diff --git a/lib/events/roommemberevent.h b/lib/events/roommemberevent.h
index c690586e..9f063136 100644
--- a/lib/events/roommemberevent.h
+++ b/lib/events/roommemberevent.h
@@ -28,7 +28,8 @@ public:
using MembershipType [[deprecated("Use Membership instead")]] = Membership;
-class QUOTIENT_API RoomMemberEvent : public StateEvent<MemberEventContent> {
+class QUOTIENT_API RoomMemberEvent
+ : public KeyedStateEventBase<RoomMemberEvent, MemberEventContent> {
Q_GADGET
public:
QUO_EVENT(RoomMemberEvent, "m.room.member")
@@ -36,24 +37,7 @@ public:
using MembershipType
[[deprecated("Use Quotient::Membership instead")]] = Membership;
- explicit RoomMemberEvent(const QJsonObject& obj) : StateEvent(typeId(), obj)
- {}
- RoomMemberEvent(const QString& userId, MemberEventContent&& content)
- : StateEvent(typeId(), matrixTypeId(), userId, std::move(content))
- {}
-
- //! \brief A special constructor to create unknown RoomMemberEvents
- //!
- //! This is needed in order to use RoomMemberEvent as a "base event class"
- //! in cases like GetMembersByRoomJob when RoomMemberEvents (rather than
- //! RoomEvents or StateEvents) are resolved from JSON. For such cases
- //! loadEvent\<> requires an underlying class to have a specialisation of
- //! EventFactory\<> and be constructible with unknownTypeId() instead of
- //! its genuine id. Don't use directly.
- //! \sa EventFactory, loadEvent, GetMembersByRoomJob
- RoomMemberEvent(Type type, const QJsonObject& fullJson)
- : StateEvent(type, fullJson)
- {}
+ using KeyedStateEventBase::KeyedStateEventBase;
Membership membership() const { return content().membership; }
QString userId() const { return stateKey(); }