23#ifndef MODULE_MANAGER_H
24#define MODULE_MANAGER_H
42class NESTExtensionInterface;
44class ModuleManager :
public ManagerInterface
53 void finalize(
const bool adjust_number_of_threads_or_rng_only )
override;
61 void install(
const std::string& name );
64 struct ModuleMapEntry_
66 ModuleMapEntry_() =
default;
67 ModuleMapEntry_( lt_dlhandle hndl, NESTExtensionInterface* ext )
74 NESTExtensionInterface* extension;
77 std::map< std::string, ModuleMapEntry_ > modules_;
123 throw KernelException(
"Dynamic modules not supported without libltdl." );
Dictionary class for interface to Python and C++ API.
Definition dictionary.h:213
Base class for all Kernel exceptions.
Definition exceptions.h:65
Interface for kernel manager classes.
Definition manager_interface.h:46
Definition module_manager.h:88
void get_status(Dictionary &) override
Retrieve the status of the manager.
Definition module_manager.h:112
void reinitialize_dynamic_modules()
Definition module_manager.h:107
void set_status(const Dictionary &) override
Set the status of the manager.
Definition module_manager.h:116
ModuleManager()
Definition module_manager.h:90
void install(const std::string &)
Definition module_manager.h:121
~ModuleManager() override
Definition module_manager.h:93
void initialize(const bool) override
Prepare manager for operation.
Definition module_manager.h:98
void finalize(const bool) override
Take down manager after operation.
Definition module_manager.h:102
Namespace for the NEST simulation kernel.
Definition beta_normalization_factor.h:33