summary refs log tree commit diff
path: root/src/events/PowerLevelsEventContent.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-07-27 13:49:44 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-07-30 14:30:55 +0300
commite5ccb73a20f559983960db2daa08d6086c90b8ec (patch)
tree3212d0727d63611e5398e8eab2a3a4bc1cddbb5d /src/events/PowerLevelsEventContent.cc
parentAppend backwards events after the spacer (diff)
downloadnheko-e5ccb73a20f559983960db2daa08d6086c90b8ec.tar.xz
Add serialization on matrix events
Diffstat (limited to 'src/events/PowerLevelsEventContent.cc')
-rw-r--r--src/events/PowerLevelsEventContent.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/events/PowerLevelsEventContent.cc b/src/events/PowerLevelsEventContent.cc

index 048b8e97..765913c4 100644 --- a/src/events/PowerLevelsEventContent.cc +++ b/src/events/PowerLevelsEventContent.cc
@@ -65,6 +65,34 @@ void PowerLevelsEventContent::deserialize(const QJsonValue &data) } } +QJsonObject PowerLevelsEventContent::serialize() const +{ + QJsonObject object; + + object["ban"] = ban_; + object["invite"] = invite_; + object["kick"] = kick_; + object["redact"] = redact_; + + object["events_default"] = events_default_; + object["users_default"] = users_default_; + object["state_default"] = state_default_; + + QJsonObject users; + QJsonObject events; + + for (auto it = users_.constBegin(); it != users_.constEnd(); it++) + users.insert(it.key(), it.value()); + + for (auto it = events_.constBegin(); it != events_.constEnd(); it++) + events.insert(it.key(), it.value()); + + object["users"] = users; + object["events"] = events; + + return object; +} + int PowerLevelsEventContent::eventLevel(QString event_type) const { if (events_.contains(event_type))