diff options
author | Florent Le Coz <louiz@louiz.org> | 2015-12-21 21:15:03 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2015-12-23 11:05:54 +0100 |
commit | 9714d02018904b0c207a3f4d7de0be1a6a22774b (patch) | |
tree | 2357be6e7e2399e057aa3c3b8ded7286a96dc6ee /louloulibs | |
parent | 7e2427148e9023483f266cd3ac4e167d50320796 (diff) | |
download | biboumi-9714d02018904b0c207a3f4d7de0be1a6a22774b.tar.gz biboumi-9714d02018904b0c207a3f4d7de0be1a6a22774b.tar.bz2 biboumi-9714d02018904b0c207a3f4d7de0be1a6a22774b.tar.xz biboumi-9714d02018904b0c207a3f4d7de0be1a6a22774b.zip |
Also store a reference instead of a pointer, in AdhocCommandsHandler
Diffstat (limited to 'louloulibs')
-rw-r--r-- | louloulibs/xmpp/adhoc_command.cpp | 14 | ||||
-rw-r--r-- | louloulibs/xmpp/adhoc_command.hpp | 8 | ||||
-rw-r--r-- | louloulibs/xmpp/adhoc_commands_handler.hpp | 7 | ||||
-rw-r--r-- | louloulibs/xmpp/adhoc_session.hpp | 2 | ||||
-rw-r--r-- | louloulibs/xmpp/xmpp_component.cpp | 2 |
5 files changed, 15 insertions, 18 deletions
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 <error/> * node, or a data form…). */ -using AdhocStep = std::function<void(XmppComponent*, AdhocSession&, XmlNode&)>; +using AdhocStep = std::function<void(XmppComponent&, AdhocSession&, XmlNode&)>; 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> 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)); |