diff options
Diffstat (limited to 'src/bridge/bridge.cpp')
-rw-r--r-- | src/bridge/bridge.cpp | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/src/bridge/bridge.cpp b/src/bridge/bridge.cpp index 0a9a412..e362822 100644 --- a/src/bridge/bridge.cpp +++ b/src/bridge/bridge.cpp @@ -12,7 +12,6 @@ #include <database/database.hpp> #include "result_set_management.hpp" #include <algorithm> -#include <utils/timed_events.hpp> using namespace std::string_literals; @@ -892,7 +891,7 @@ void Bridge::send_muc_leave(const Iid& iid, const std::string& nick, } IrcClient* irc = this->find_irc_client(iid.get_server()); if (self && irc && irc->number_of_joined_channels() == 0) - this->quit_or_start_linger_timer(iid.get_server()); + irc->send_quit_command(""); } void Bridge::send_nick_change(Iid&& iid, @@ -1244,22 +1243,3 @@ void Bridge::set_record_history(const bool val) this->record_history = val; } #endif - -void Bridge::quit_or_start_linger_timer(const std::string& irc_hostname) -{ -#ifdef USE_DATABASE - auto options = Database::get_irc_server_options(this->get_bare_jid(), - irc_hostname); - const auto timeout = std::chrono::seconds(options.lingerTime.value()); -#else - const auto timeout = 0s; -#endif - - const auto event_name = "IRCLINGER:" + irc_hostname + ".." + this->get_bare_jid(); - TimedEvent event(std::chrono::steady_clock::now() + timeout, [this, irc_hostname]() { - IrcClient* irc = this->find_irc_client(irc_hostname); - if (irc) - irc->send_quit_command(""); - }, event_name); - TimedEventsManager::instance().add_event(std::move(event)); -} |