summaryrefslogtreecommitdiff
path: root/src/xmpp/biboumi_component.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/biboumi_component.hpp')
-rw-r--r--src/xmpp/biboumi_component.hpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/xmpp/biboumi_component.hpp b/src/xmpp/biboumi_component.hpp
index 24d768a..999001f 100644
--- a/src/xmpp/biboumi_component.hpp
+++ b/src/xmpp/biboumi_component.hpp
@@ -9,6 +9,10 @@
#include <string>
#include <map>
+namespace db
+{
+class MucLogLine;
+}
struct ListElement;
/**
@@ -58,6 +62,15 @@ public:
*/
void send_self_disco_info(const std::string& id, const std::string& jid_to);
/**
+ * Send a result IQ with the disco informations regarding IRC server JIDs.
+ */
+ void send_irc_server_disco_info(const std::string& id, const std::string& jid_to, const std::string& jid_from);
+ /**
+ * Sends the allowed namespaces in MUC message, according to
+ * http://xmpp.org/extensions/xep-0045.html#impl-service-traffic
+ */
+ void send_irc_channel_muc_traffic_info(const std::string id, const std::string& jid_from, const std::string& jid_to);
+ /**
* Send an iq version request
*/
void send_iq_version_request(const std::string& from,
@@ -71,9 +84,10 @@ public:
/**
* Send the channels list in one big stanza
*/
- void send_iq_room_list_result(const std::string& id, const std::string& to_jid,
- const std::string& from,
- const std::vector<ListElement>& rooms_list);
+ void send_iq_room_list_result(const std::string& id, const std::string& to_jid, const std::string& from,
+ const ChannelList& channel_list, std::vector<ListElement>::const_iterator begin,
+ std::vector<ListElement>::const_iterator end, const ResultSetInfo& rs_info);
+ void send_invitation(const std::string& room_target, const std::string& jid_to, const std::string& author_nick);
/**
* Handle the various stanza types
*/
@@ -81,13 +95,19 @@ public:
void handle_message(const Stanza& stanza);
void handle_iq(const Stanza& stanza);
-private:
+#ifdef USE_DATABASE
+ bool handle_mam_request(const Stanza& stanza);
+ void send_archived_message(const db::MucLogLine& log_line, const std::string& from, const std::string& to,
+ const std::string& queryid);
+#endif
+
/**
* Return the bridge associated with the bare JID. Create a new one
* if none already exist.
*/
Bridge* get_user_bridge(const std::string& user_jid);
+private:
/**
* A map of id -> callback. When we want to wait for an iq result, we add
* the callback to this map, with the iq id as the key. When an iq result