summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2014-04-10 20:11:17 +0200
committerFlorent Le Coz <louiz@louiz.org>2014-04-10 20:11:17 +0200
commita20c60a0d84f2f22777e3831cac1315302b7a095 (patch)
tree633276b01684d5b4dcba0c3a629405572fd123d8
parent65601a96d20d4ce010723df3a059ee5a9713fae7 (diff)
downloadbiboumi-a20c60a0d84f2f22777e3831cac1315302b7a095.tar.gz
biboumi-a20c60a0d84f2f22777e3831cac1315302b7a095.tar.bz2
biboumi-a20c60a0d84f2f22777e3831cac1315302b7a095.tar.xz
biboumi-a20c60a0d84f2f22777e3831cac1315302b7a095.zip
Messages coming from the IRC server are of type "chat"
-rw-r--r--src/bridge/bridge.cpp4
-rw-r--r--src/xmpp/xmpp_component.cpp4
-rw-r--r--src/xmpp/xmpp_component.hpp3
3 files changed, 7 insertions, 4 deletions
diff --git a/src/bridge/bridge.cpp b/src/bridge/bridge.cpp
index 9b7908a..277f696 100644
--- a/src/bridge/bridge.cpp
+++ b/src/bridge/bridge.cpp
@@ -188,7 +188,7 @@ void Bridge::send_message(const Iid& iid, const std::string& nick, const std::st
this->make_xmpp_body(body), this->user_jid);
else
this->xmpp->send_message(iid.chan + "%" + iid.server,
- this->make_xmpp_body(body), this->user_jid);
+ this->make_xmpp_body(body), this->user_jid, "chat");
}
void Bridge::send_muc_leave(Iid&& iid, std::string&& nick, const std::string& message, const bool self)
@@ -220,7 +220,7 @@ void Bridge::send_xmpp_message(const std::string& from, const std::string& autho
body = std::string("[") + author + std::string("] ") + msg;
else
body = msg;
- this->xmpp->send_message(from, this->make_xmpp_body(body), this->user_jid);
+ this->xmpp->send_message(from, this->make_xmpp_body(body), this->user_jid, "chat");
}
void Bridge::send_user_join(const std::string& hostname,
diff --git a/src/xmpp/xmpp_component.cpp b/src/xmpp/xmpp_component.cpp
index 2799a21..85a83de 100644
--- a/src/xmpp/xmpp_component.cpp
+++ b/src/xmpp/xmpp_component.cpp
@@ -457,11 +457,13 @@ void* XmppComponent::get_receive_buffer(const size_t size) const
return this->parser.get_buffer(size);
}
-void XmppComponent::send_message(const std::string& from, Xmpp::body&& body, const std::string& to)
+void XmppComponent::send_message(const std::string& from, Xmpp::body&& body, const std::string& to, const std::string& type)
{
XmlNode node("message");
node["to"] = to;
node["from"] = from + "@" + this->served_hostname;
+ if (!type.empty())
+ node["type"] = type;
XmlNode body_node("body");
body_node.set_inner(std::get<0>(body));
body_node.close();
diff --git a/src/xmpp/xmpp_component.hpp b/src/xmpp/xmpp_component.hpp
index 5a5d3d8..3e13086 100644
--- a/src/xmpp/xmpp_component.hpp
+++ b/src/xmpp/xmpp_component.hpp
@@ -81,7 +81,8 @@ public:
/**
* Send a message from from@served_hostname, with the given body
*/
- void send_message(const std::string& from, Xmpp::body&& body, const std::string& to);
+ void send_message(const std::string& from, Xmpp::body&& body,
+ const std::string& to, const std::string& type);
/**
* Send a join from a new participant
*/