From 9714d02018904b0c207a3f4d7de0be1a6a22774b Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Mon, 21 Dec 2015 21:15:03 +0100 Subject: Also store a reference instead of a pointer, in AdhocCommandsHandler --- louloulibs/xmpp/adhoc_command.cpp | 14 ++++++-------- louloulibs/xmpp/adhoc_command.hpp | 8 ++++---- louloulibs/xmpp/adhoc_commands_handler.hpp | 7 +++---- louloulibs/xmpp/adhoc_session.hpp | 2 +- louloulibs/xmpp/xmpp_component.cpp | 2 +- 5 files changed, 15 insertions(+), 18 deletions(-) (limited to 'louloulibs') diff --git a/louloulibs/xmpp/adhoc_command.cpp b/louloulibs/xmpp/adhoc_command.cpp index b8b07c6..8a8bcff 100644 --- a/louloulibs/xmpp/adhoc_command.cpp +++ b/louloulibs/xmpp/adhoc_command.cpp @@ -20,7 +20,7 @@ bool AdhocCommand::is_admin_only() const return this->admin_only; } -void PingStep1(XmppComponent*, AdhocSession&, XmlNode& command_node) +void PingStep1(XmppComponent&, AdhocSession&, XmlNode& command_node) { XmlNode note("note"); note["type"] = "info"; @@ -28,7 +28,7 @@ void PingStep1(XmppComponent*, AdhocSession&, XmlNode& command_node) command_node.add_child(std::move(note)); } -void HelloStep1(XmppComponent*, AdhocSession&, XmlNode& command_node) +void HelloStep1(XmppComponent&, AdhocSession&, XmlNode& command_node) { XmlNode x("jabber:x:data:x"); x["type"] = "form"; @@ -48,11 +48,10 @@ void HelloStep1(XmppComponent*, AdhocSession&, XmlNode& command_node) command_node.add_child(std::move(x)); } -void HelloStep2(XmppComponent*, AdhocSession& session, XmlNode& command_node) +void HelloStep2(XmppComponent&, AdhocSession& session, XmlNode& command_node) { // Find out if the name was provided in the form. - const XmlNode* x = command_node.get_child("x", "jabber:x:data"); - if (x) + if (const XmlNode* x = command_node.get_child("x", "jabber:x:data")) { const XmlNode* name_field = nullptr; for (const XmlNode* field: x->get_children("field", "jabber:x:data")) @@ -63,8 +62,7 @@ void HelloStep2(XmppComponent*, AdhocSession& session, XmlNode& command_node) } if (name_field) { - const XmlNode* value = name_field->get_child("value", "jabber:x:data"); - if (value) + if (const XmlNode* value = name_field->get_child("value", "jabber:x:data")) { XmlNode note("note"); note["type"] = "info"; @@ -84,7 +82,7 @@ void HelloStep2(XmppComponent*, AdhocSession& session, XmlNode& command_node) session.terminate(); } -void Reload(XmppComponent*, AdhocSession&, XmlNode& command_node) +void Reload(XmppComponent&, AdhocSession&, XmlNode& command_node) { ::reload_process(); command_node.delete_all_children(); diff --git a/louloulibs/xmpp/adhoc_command.hpp b/louloulibs/xmpp/adhoc_command.hpp index 1ff2bcf..a2e033a 100644 --- a/louloulibs/xmpp/adhoc_command.hpp +++ b/louloulibs/xmpp/adhoc_command.hpp @@ -35,9 +35,9 @@ private: const bool admin_only; }; -void PingStep1(XmppComponent*, AdhocSession& session, XmlNode& command_node); -void HelloStep1(XmppComponent*, AdhocSession& session, XmlNode& command_node); -void HelloStep2(XmppComponent*, AdhocSession& session, XmlNode& command_node); -void Reload(XmppComponent*, AdhocSession& session, XmlNode& command_node); +void PingStep1(XmppComponent&, AdhocSession& session, XmlNode& command_node); +void HelloStep1(XmppComponent&, AdhocSession& session, XmlNode& command_node); +void HelloStep2(XmppComponent&, AdhocSession& session, XmlNode& command_node); +void Reload(XmppComponent&, AdhocSession& session, XmlNode& command_node); #endif // ADHOC_COMMAND_HPP diff --git a/louloulibs/xmpp/adhoc_commands_handler.hpp b/louloulibs/xmpp/adhoc_commands_handler.hpp index cf9ca17..0614b2f 100644 --- a/louloulibs/xmpp/adhoc_commands_handler.hpp +++ b/louloulibs/xmpp/adhoc_commands_handler.hpp @@ -16,7 +16,7 @@ class AdhocCommandsHandler { public: - explicit AdhocCommandsHandler(XmppComponent* xmpp_component): + explicit AdhocCommandsHandler(XmppComponent& xmpp_component): xmpp_component(xmpp_component), commands{} { } @@ -50,10 +50,9 @@ public: void remove_session(const std::string& session_id, const std::string& initiator_jid); private: /** - * A pointer to the XmppComponent, to access to basically anything in the - * gateway. + * To access basically anything in the gateway. */ - XmppComponent* xmpp_component; + XmppComponent& xmpp_component; /** * The list of all available commands. */ diff --git a/louloulibs/xmpp/adhoc_session.hpp b/louloulibs/xmpp/adhoc_session.hpp index 7f07dc1..e98b6a8 100644 --- a/louloulibs/xmpp/adhoc_session.hpp +++ b/louloulibs/xmpp/adhoc_session.hpp @@ -17,7 +17,7 @@ class AdhocSession; * XmlNode and modifies it accordingly (inserting for example an * node, or a data form…). */ -using AdhocStep = std::function; +using AdhocStep = std::function; class AdhocSession { diff --git a/louloulibs/xmpp/xmpp_component.cpp b/louloulibs/xmpp/xmpp_component.cpp index ce9552f..a82892d 100644 --- a/louloulibs/xmpp/xmpp_component.cpp +++ b/louloulibs/xmpp/xmpp_component.cpp @@ -45,7 +45,7 @@ XmppComponent::XmppComponent(std::shared_ptr poller, const std::string& doc_open(false), served_hostname(hostname), stanza_handlers{}, - adhoc_commands_handler(this) + adhoc_commands_handler(*this) { this->parser.add_stream_open_callback(std::bind(&XmppComponent::on_remote_stream_open, this, std::placeholders::_1)); -- cgit v1.2.3