Mercurial > irccd
comparison irccd-test/main.cpp @ 757:97b356010785
Irccd: create (command|jsapi)::registry
Make two list of constructor functions to initialize all command and all
Javascript modules to avoid duplicating efforts in case of change.
While here, update test fixtures to load all of them for simplicity.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 06 Aug 2018 21:27:00 +0200 |
parents | c216d148558d |
children | f25c878d823b |
comparison
equal
deleted
inserted
replaced
756:1b4f82c952d6 | 757:97b356010785 |
---|---|
629 // {{{ load | 629 // {{{ load |
630 | 630 |
631 void load(int argc, char** argv) | 631 void load(int argc, char** argv) |
632 { | 632 { |
633 daemon = std::make_unique<irccd>(io); | 633 daemon = std::make_unique<irccd>(io); |
634 | 634 daemon->plugins().add_loader(std::make_unique<dynlib_plugin_loader>()); |
635 #if defined(IRCCD_HAVE_JS) | 635 |
636 daemon->plugins().add_loader(js_plugin_loader::defaults(*daemon)); | 636 #if defined(HAVE_JS) |
637 auto loader = std::make_unique<js_plugin_loader>(); | |
638 | |
639 for (const auto& f : jsapi::registry) | |
640 daemon->get_modules().push_back(f()); | |
641 | |
642 daemon->plugins().add_loader(std::move(loader)); | |
637 #endif | 643 #endif |
638 | 644 |
639 load_options(argc, argv); | 645 load_options(argc, argv); |
640 load_plugins(argc, argv); | 646 load_plugins(argc, argv); |
641 } | 647 } |