diff options
Diffstat (limited to 'src/xmpp/biboumi_component.hpp')
-rw-r--r-- | src/xmpp/biboumi_component.hpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/xmpp/biboumi_component.hpp b/src/xmpp/biboumi_component.hpp index 999001f..87311f9 100644 --- a/src/xmpp/biboumi_component.hpp +++ b/src/xmpp/biboumi_component.hpp @@ -1,7 +1,8 @@ #pragma once - +#include <database/database.hpp> #include <xmpp/xmpp_component.hpp> +#include <xmpp/jid.hpp> #include <bridge/bridge.hpp> @@ -27,7 +28,7 @@ using iq_responder_callback_t = std::function<void(Bridge* bridge, const Stanza& class BiboumiComponent: public XmppComponent { public: - explicit BiboumiComponent(std::shared_ptr<Poller> poller, const std::string& hostname, const std::string& secret); + explicit BiboumiComponent(std::shared_ptr<Poller>& poller, const std::string& hostname, const std::string& secret); ~BiboumiComponent() = default; BiboumiComponent(const BiboumiComponent&) = delete; @@ -69,12 +70,8 @@ public: * 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, - const std::string& jid_to); + void send_irc_channel_muc_traffic_info(const std::string& id, const std::string& jid_to, const std::string& jid_from); + void send_irc_channel_disco_info(const std::string& id, const std::string& jid_to, const std::string& jid_from); /** * Send a ping request */ @@ -88,6 +85,8 @@ public: 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); + void accept_subscription(const std::string& from, const std::string& to); + void ask_subscription(const std::string& from, const std::string& to); /** * Handle the various stanza types */ @@ -97,8 +96,10 @@ public: #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, + void send_archived_message(const Database::MucLogLine& log_line, const std::string& from, const std::string& to, const std::string& queryid); + bool handle_room_configuration_form_request(const std::string& from, const Jid& to, const std::string& id); + bool handle_room_configuration_form(const XmlNode& query, const std::string& from, const Jid& to, const std::string& id); #endif /** |