Implement part and join, both ways

This commit is contained in:
Florent Le Coz
2013-11-09 23:17:48 +01:00
parent f38b31a63e
commit 7c67149935
10 changed files with 148 additions and 12 deletions
+12
View File
@@ -82,11 +82,23 @@ void Bridge::send_channel_message(const Iid& iid, const std::string& body)
this->xmpp->send_muc_message(iid.chan + "%" + iid.server, irc->get_own_nick(), body, this->user_jid);
}
void Bridge::leave_irc_channel(Iid&& iid, std::string&& status_message)
{
IrcClient* irc = this->get_irc_client(iid.server);
if (irc)
irc->send_part_command(iid.chan, status_message);
}
void Bridge::send_muc_message(const Iid& iid, const std::string& nick, const std::string& body)
{
this->xmpp->send_muc_message(iid.chan + "%" + iid.server, nick, this->sanitize_for_xmpp(body), this->user_jid);
}
void Bridge::send_muc_leave(Iid&& iid, std::string&& nick, std::string&& message, const bool self)
{
this->xmpp->send_muc_leave(std::move(iid.chan) + "%" + std::move(iid.server), std::move(nick), this->sanitize_for_xmpp(message), this->user_jid, self);
}
void Bridge::send_xmpp_message(const std::string& from, const std::string& author, const std::string& msg)
{
std::string body;
+6
View File
@@ -32,6 +32,7 @@ public:
void join_irc_channel(const Iid& iid, const std::string& username);
void send_channel_message(const Iid& iid, const std::string& body);
void leave_irc_channel(Iid&& iid, std::string&& status_message);
/***
**
@@ -60,6 +61,11 @@ public:
* Send a MUC message from some participant
*/
void send_muc_message(const Iid& iid, const std::string& nick, const std::string& body);
/**
* Send an unavailable presence from this participant
*/
void send_muc_leave(Iid&& iid, std::string&& nick, std::string&& message, const bool self);
private:
/**
* Returns the client for the given hostname, create one (and use the