/** This file is a part of 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" #include "matrix/session_info.hpp" namespace matrix{ class room_url_list { private: 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 session_info& session, const raii::string_base& roomid); raii::string join(const session_info& session, const raii::string_base& roomid)const; raii::string leave(const session_info& session, const raii::string_base& roomid)const; raii::string forget(const session_info& session, const raii::string_base& roomid)const; raii::string upgrade(const session_info& session, const raii::string_base& roomid)const; raii::string read_receipt(const session_info& session, const raii::string_base& roomid, const raii::string_base& eventid)const; raii::string send(const session_info& session, const raii::string_base& roomid, const raii::string_base& eventtype)const; raii::string redact(const session_info& session, const raii::string_base& roomid, const raii::string_base& eventid)const; raii::string event(const session_info& session, 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; raii::string messages(const session_info& session, const raii::string_base& roomid, const raii::string_base& from, const raii::string_base& to, const raii::string_base& dir, int limit)const; raii::string power_level(const session_info& session, const raii::string_base& roomid)const; void repopulate(const session_info& session, const raii::string_base& roomid); void invalidate_accesstoken(void); private: static constexpr const char* s_proto = "https://"; }; } #endif