summaryrefslogtreecommitdiff
path: root/src/bridge/bridge.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bridge/bridge.cpp')
-rw-r--r--src/bridge/bridge.cpp22
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));
-}