From 760c42bbb6027bfc6ebeb70a3a77608378d7c510 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Sat, 17 Nov 2018 19:52:27 +0900 Subject: StateEventBase::replacedState() Brings event id of the state event that was in effect before this one arrived. This key is not specced but it's used in the wild since forever. --- lib/events/stateevent.cpp | 5 +++++ lib/events/stateevent.h | 1 + 2 files changed, 6 insertions(+) diff --git a/lib/events/stateevent.cpp b/lib/events/stateevent.cpp index 280c334c..fd8079be 100644 --- a/lib/events/stateevent.cpp +++ b/lib/events/stateevent.cpp @@ -29,6 +29,11 @@ bool StateEventBase::repeatsState() const return fullJson().value(ContentKeyL) == prevContentJson; } +QString StateEventBase::replacedState() const +{ + return unsignedJson().value("replaces_state"_ls).toString(); +} + void StateEventBase::dumpTo(QDebug dbg) const { if (!stateKey().isEmpty()) diff --git a/lib/events/stateevent.h b/lib/events/stateevent.h index d50500f2..d4a7e8b3 100644 --- a/lib/events/stateevent.h +++ b/lib/events/stateevent.h @@ -30,6 +30,7 @@ namespace QMatrixClient { ~StateEventBase() override = default; bool isStateEvent() const override { return true; } + QString replacedState() const; void dumpTo(QDebug dbg) const override; virtual bool repeatsState() const; -- cgit v1.2.3