From e7bdcf254008977ffb7e8e97922a52c28a121a6b Mon Sep 17 00:00:00 2001 From: rexy712 Date: Sat, 27 Jul 2019 10:10:32 -0700 Subject: [PATCH] Add url regeneration to roomcxn --- include/matrix/roomcxn.hpp | 2 ++ src/matrix/room_url_list.cpp | 11 ++++++++++- src/matrix/roomcxn.cpp | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/matrix/roomcxn.hpp b/include/matrix/roomcxn.hpp index ec9e3df..8382680 100644 --- a/include/matrix/roomcxn.hpp +++ b/include/matrix/roomcxn.hpp @@ -65,6 +65,8 @@ namespace matrix{ raii::rjp_string redact_event(const raii::string_base& eventid, const raii::string_base& reason)const; raii::rjp_string redact_event(const raii::string_base& eventid)const; + void regenerate_urls(void); + private: raii::rjp_string _send_message(const raii::string_base& msg)const; }; diff --git a/src/matrix/room_url_list.cpp b/src/matrix/room_url_list.cpp index 237ba18..f56b95b 100644 --- a/src/matrix/room_url_list.cpp +++ b/src/matrix/room_url_list.cpp @@ -65,6 +65,15 @@ namespace matrix{ const raii::string& room_url_list::room_members(void)const{ return m_members; } - + void room_url_list::repopulate(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& userid, const raii::string_base& roomid){ + m_join = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/join?access_token=" + access_token; + m_leave = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/leave?access_token=" + access_token; + m_typing = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/typing/" + userid + "?access_token=" + access_token; + m_kick = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/kick?access_token=" + access_token; + m_ban = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/ban?access_token=" + access_token; + m_unban = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/unban?access_token=" + access_token; + m_invite = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/invite?access_token=" + access_token; + m_members = s_proto + homeserver + "/_matrix/client/r0/rooms/" + roomid + "/members?access_token=" + access_token; + } } diff --git a/src/matrix/roomcxn.cpp b/src/matrix/roomcxn.cpp index 4248933..a2ff454 100644 --- a/src/matrix/roomcxn.cpp +++ b/src/matrix/roomcxn.cpp @@ -92,6 +92,10 @@ namespace matrix{ return redact_event(eventid, "No reason given"_ss); } + void roomcxn::regenerate_urls(void){ + m_urls.repopulate(m_ses->homeserver, m_ses->access_token, m_ses->userid, m_roomid); + } + raii::rjp_string roomcxn::_send_message(const raii::string_base& msg)const{ return send_custom_event(msg, "m.room.message"_ss); }