/** This file is a part of rexy's matrix client Copyright (C) 2019-2020 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 #include "matrix/session_info.hpp" namespace matrix{ class room_url_list { private: rexy::string m_typing; rexy::string m_kick; rexy::string m_ban; rexy::string m_unban; rexy::string m_invite; rexy::string m_members; public: room_url_list(const session_info& session, const rexy::string_base& roomid); rexy::string join(const session_info& session, const rexy::string_base& roomid)const; rexy::string leave(const session_info& session, const rexy::string_base& roomid)const; rexy::string forget(const session_info& session, const rexy::string_base& roomid)const; rexy::string upgrade(const session_info& session, const rexy::string_base& roomid)const; rexy::string read_receipt(const session_info& session, const rexy::string_base& roomid, const rexy::string_base& eventid)const; rexy::string send(const session_info& session, const rexy::string_base& roomid, const rexy::string_base& eventtype)const; rexy::string redact(const session_info& session, const rexy::string_base& roomid, const rexy::string_base& eventid)const; rexy::string event(const session_info& session, const rexy::string_base& roomid, const rexy::string_base& eventid)const; const rexy::string& typing(void)const; const rexy::string& kick(void)const; const rexy::string& ban(void)const; const rexy::string& unban(void)const; const rexy::string& invite(void)const; const rexy::string& room_members(void)const; rexy::string messages(const session_info& session, const rexy::string_base& roomid, const rexy::string_base& from, const rexy::string_base& to, const rexy::string_base& dir, int limit)const; rexy::string power_level(const session_info& session, const rexy::string_base& roomid)const; void repopulate(const session_info& session, const rexy::string_base& roomid); void invalidate_accesstoken(void); private: static constexpr const char* s_proto = "https://"; }; } #endif