From 26d144c593109705da66894b0385db3f9e5c6696 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Mon, 7 Mar 2016 15:02:27 +0100 Subject: [PATCH] Add Matrix.Event.State.get_stripped_node() This returns the full state event if it is allowed to be stripped. It is needed for m.room.member events. --- src/matrix-event-state-base.vala | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/matrix-event-state-base.vala b/src/matrix-event-state-base.vala index b153a60..52a4d1d 100644 --- a/src/matrix-event-state-base.vala +++ b/src/matrix-event-state-base.vala @@ -54,4 +54,25 @@ public abstract class Matrix.Event.State : Matrix.Event.Base { base.to_json(json_node); } + + /** + * Get a stripped state event. + * + * @return `null` if the event is not allowed to be stripped, or + * the full JSON node otherwise + */ + public Json.Node? + get_stripped_node() + { + if ((_event_type != "m.room.join_rules") + && (_event_type != "m.room.canonical_alias") + && (_event_type != "m.room.avatar") + && (_event_type != "m.room.name")) { + warning("Trying to strip down event that is not allowed to be stripped."); + + return null; + } + + return json; + } }