summaryrefslogtreecommitdiff
path: root/src/bridge/bridge.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bridge/bridge.hpp')
-rw-r--r--src/bridge/bridge.hpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/bridge/bridge.hpp b/src/bridge/bridge.hpp
index 18ebfeb..b165650 100644
--- a/src/bridge/bridge.hpp
+++ b/src/bridge/bridge.hpp
@@ -80,7 +80,7 @@ public:
void send_private_message(const Iid& iid, const std::string& body, const std::string& type="PRIVMSG");
void send_raw_message(const std::string& hostname, const std::string& body);
void leave_irc_channel(Iid&& iid, const std::string& status_message, const std::string& resource);
- void send_irc_nick_change(const Iid& iid, const std::string& new_nick);
+ void send_irc_nick_change(const Iid& iid, const std::string& new_nick, const std::string& requesting_resource);
void send_irc_kick(const Iid& iid, const std::string& target, const std::string& reason,
const std::string& iq_id, const std::string& to_jid);
void set_channel_topic(const Iid& iid, const std::string& subject);
@@ -103,8 +103,8 @@ public:
bool send_matching_channel_list(const ChannelList& channel_list,
const ResultSetInfo& rs_info, const std::string& id, const std::string& to_jid,
const std::string& from);
- void forward_affiliation_role_change(const Iid& iid, const std::string& nick,
- const std::string& affiliation, const std::string& role);
+ void forward_affiliation_role_change(const Iid& iid, const std::string& from, const std::string& nick,
+ const std::string& affiliation, const std::string& role, const std::string& id);
/**
* Directly send a CTCP PING request to the IRC user
*/
@@ -231,10 +231,17 @@ public:
*/
void trigger_on_irc_message(const std::string& irc_hostname, const IrcMessage& message);
std::unordered_map<std::string, std::shared_ptr<IrcClient>>& get_irc_clients();
+ const std::unordered_map<std::string, std::shared_ptr<IrcClient>>& get_irc_clients() const;
std::set<char> get_chantypes(const std::string& hostname) const;
#ifdef USE_DATABASE
void set_record_history(const bool val);
#endif
+ /**
+ * Start a timer that will send a QUIT command after the
+ * configured linger time is expired.
+ */
+ void quit_or_start_linger_timer(const std::string& irc_hostname);
+ void cancel_linger_timer(const std::string& irc_hostname);
private:
/**