23 #include "boost/property_tree/ptree.hpp" 31 #include <zmqpp/actor.hpp> 96 mutable std::shared_ptr<DynamicLibrary>
lib_;
101 mutable std::unique_ptr<zmqpp::actor>
actor_;
123 bool initModule(
const std::string &name);
134 void stopModules(
bool soft =
false);
139 void addToPath(
const std::string &dir);
148 bool loadModule(
const std::string &module_name);
153 std::vector<std::string> modules_names()
const;
163 bool has_module(
const std::string &name)
const;
168 const std::vector<std::string> &get_module_path()
const;
176 void unloadLibraries();
188 bool stopModule(
const std::string &name);
199 void stopModule(
ModuleInfo *modinfo,
bool soft =
false);
202 ModuleInfo *find_module_by_name(
const std::string &name)
const;
211 std::shared_ptr<DynamicLibrary> load_library_file(
const std::string &full_path);
This is the header file for a generated source file, GitSHA1.cpp.
That class helps manage the configuration for the application and its module.
std::shared_ptr< DynamicLibrary > lib_
Pointer to the library object.
std::string name_
Name of the module, as specified in the configuration file.
Leosac::CoreUtilsPtr core_utils_
A second module manager that loads "ZMQ aware" module – modules that talks to the application throug...
std::unique_ptr< zmqpp::actor > actor_
Actor object that runs the module code.
std::shared_ptr< CoreUtils > CoreUtilsPtr
std::set< ModuleInfo > modules_
Internal helper struct that store informations related to module that are useful to the module manage...
Leosac::ConfigManager & config_manager_
std::vector< std::string > path_
const Leosac::ConfigManager & cfg_