summary refs log tree commit diff
path: root/src/events/MemberEventContent.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/MemberEventContent.cc
parentAppend backwards events after the spacer (diff)
downloadnheko-e5ccb73a20f559983960db2daa08d6086c90b8ec.tar.xz
Add serialization on matrix events
Diffstat (limited to 'src/events/MemberEventContent.cc')
-rw-r--r--src/events/MemberEventContent.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/events/MemberEventContent.cc b/src/events/MemberEventContent.cc

index 4dc8ad5f..608ad1b2 100644 --- a/src/events/MemberEventContent.cc +++ b/src/events/MemberEventContent.cc
@@ -55,3 +55,27 @@ void MemberEventContent::deserialize(const QJsonValue &data) if (object.contains("displayname")) display_name_ = object.value("displayname").toString(); } + +QJsonObject MemberEventContent::serialize() const +{ + QJsonObject object; + + if (membership_state_ == Membership::Ban) + object["membership"] = "ban"; + else if (membership_state_ == Membership::Invite) + object["membership"] = "invite"; + else if (membership_state_ == Membership::Join) + object["membership"] = "join"; + else if (membership_state_ == Membership::Knock) + object["membership"] = "knock"; + else if (membership_state_ == Membership::Leave) + object["membership"] = "leave"; + + if (!avatar_url_.isEmpty()) + object["avatar_url"] = avatar_url_.toString(); + + if (!display_name_.isEmpty()) + object["displayname"] = display_name_; + + return object; +}