diff options
author | louiz’ <louiz@louiz.org> | 2017-08-27 22:30:44 +0200 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2017-08-27 22:37:46 +0200 |
commit | fcaffb9e778ad5962e69dc23c1fc91eb59a27945 (patch) | |
tree | 99c8270467b67b2dab90235c3ff1147daf1b9422 /src/irc | |
parent | 25243f53c2479e2fda0f1a05d1589c8214b70b4b (diff) | |
download | biboumi-fcaffb9e778ad5962e69dc23c1fc91eb59a27945.tar.gz biboumi-fcaffb9e778ad5962e69dc23c1fc91eb59a27945.tar.bz2 biboumi-fcaffb9e778ad5962e69dc23c1fc91eb59a27945.tar.xz biboumi-fcaffb9e778ad5962e69dc23c1fc91eb59a27945.zip |
Add support for the "history" node on MUC join
Supports the "seconds", "maxstanzas", "since" and "maxchars" (but only =0)
attributes.
fix #3270
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/irc_client.cpp | 2 | ||||
-rw-r--r-- | src/irc/irc_client.hpp | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/irc/irc_client.cpp b/src/irc/irc_client.cpp index 7776c8d..5f26bf0 100644 --- a/src/irc/irc_client.cpp +++ b/src/irc/irc_client.cpp @@ -784,7 +784,7 @@ void IrcClient::on_channel_completely_joined(const IrcMessage& message) channel->joined = true; this->bridge.send_user_join(this->hostname, chan_name, channel->get_self(), channel->get_self()->get_most_significant_mode(this->sorted_user_modes), true); - this->bridge.send_room_history(this->hostname, chan_name); + this->bridge.send_room_history(this->hostname, chan_name, this->history_limit); this->bridge.send_topic(this->hostname, chan_name, channel->topic, channel->topic_author); } diff --git a/src/irc/irc_client.hpp b/src/irc/irc_client.hpp index aec6cd9..de5c520 100644 --- a/src/irc/irc_client.hpp +++ b/src/irc/irc_client.hpp @@ -5,6 +5,8 @@ #include <irc/irc_channel.hpp> #include <irc/iid.hpp> +#include <bridge/history_limit.hpp> + #include <network/tcp_client_socket_handler.hpp> #include <network/resolver.hpp> @@ -296,6 +298,11 @@ public: const std::vector<char>& get_sorted_user_modes() const { return this->sorted_user_modes; } std::set<char> get_chantypes() const { return this->chantypes; } + + /** + * Store the history limit that the client asked when joining this room. + */ + HistoryLimit history_limit; private: /** * The hostname of the server we are connected to. |