Mercurial > irccd
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_);