/** This file is a part of r0nk, atlas_moon, and rexy's matrix client Copyright (C) 2019 rexy712 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ #ifndef MATRIX_ROOM_URL_LIST_HPP #define MATRIX_ROOM_URL_LIST_HPP #include "raii/string.hpp" namespace matrix{ class room_url_list { private: raii::string m_join; raii::string m_leave; raii::string m_typing; raii::string m_kick; raii::string m_ban; raii::string m_unban; raii::string m_invite; raii::string m_members; public: room_url_list(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& userid); const raii::string& join_room(void)const; const raii::string& leave_room(void)const; raii::string read_receipt(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& eventid)const; raii::string send(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& eventtype)const; raii::string redact(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& roomid, const raii::string_base& eventid)const; const raii::string& typing(void)const; const raii::string& kick(void)const; const raii::string& ban(void)const; const raii::string& unban(void)const; const raii::string& invite(void)const; const raii::string& room_members(void)const; void repopulate(const raii::string_base& homeserver, const raii::string_base& access_token, const raii::string_base& userid, const raii::string_base& roomid); void invalidate_accesstoken(void); private: static constexpr const char* s_proto = "https://"; }; } #endif