changeset 516:bb65cec664c5

Irccd: use unique_ptr for services
author David Demelier <markand@malikania.fr>
date Thu, 26 Oct 2017 20:45:19 +0200
parents 9c18bfff72ef
children 7b1781724868
files libirccd/irccd/irccd.cpp libirccd/irccd/irccd.hpp
diffstat 2 files changed, 13 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/libirccd/irccd/irccd.cpp	Thu Oct 26 12:50:54 2017 +0200
+++ b/libirccd/irccd/irccd.cpp	Thu Oct 26 20:45:19 2017 +0200
@@ -25,15 +25,17 @@
 namespace irccd {
 
 irccd::irccd()
-    : command_service_(std::make_shared<command_service>())
-    , itr_service_(std::make_shared<interrupt_service>())
-    , server_service_(std::make_shared<server_service>(*this))
-    , tpt_service_(std::make_shared<transport_service>(*this))
-    , rule_service_(std::make_shared<rule_service>())
-    , plugin_service_(std::make_shared<plugin_service>(*this))
+    : command_service_(std::make_unique<command_service>())
+    , itr_service_(std::make_unique<interrupt_service>())
+    , server_service_(std::make_unique<server_service>(*this))
+    , tpt_service_(std::make_unique<transport_service>(*this))
+    , rule_service_(std::make_unique<rule_service>())
+    , plugin_service_(std::make_unique<plugin_service>(*this))
 {
 }
 
+irccd::~irccd() = default;
+
 void irccd::post(std::function<void (irccd&)> ev) noexcept
 {
     std::lock_guard<std::mutex> lock(mutex_);
--- a/libirccd/irccd/irccd.hpp	Thu Oct 26 12:50:54 2017 +0200
+++ b/libirccd/irccd/irccd.hpp	Thu Oct 26 20:45:19 2017 +0200
@@ -77,6 +77,11 @@
     irccd();
 
     /**
+     * Default destructor.
+     */
+    ~irccd();
+
+    /**
      * Access the command service.
      *
      * \return the service