On a client error, do not QUIT, just make the resource leave all channels

This should fix #3205
This commit is contained in:
louiz’
2016-08-17 20:47:33 +02:00
parent a4ab1db55f
commit 5406de35a3
4 changed files with 62 additions and 10 deletions
+5 -1
View File
@@ -44,6 +44,10 @@ public:
* QUIT all connected IRC servers.
*/
void shutdown(const std::string& exit_message);
/**
* PART the given resource from all the channels
*/
void remove_resource(const std::string& resource, const std::string& part_message);
/**
* Remove all inactive IrcClients
*/
@@ -70,7 +74,7 @@ public:
void send_channel_message(const Iid& iid, const std::string& body);
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, std::string&& status_message, const std::string& resource);
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_kick(const Iid& iid, const std::string& target, const std::string& reason,
const std::string& iq_id, const std::string& to_jid);