Module system
Types
-
The module interface that should be implemented by the user.
Functions
-
Adds one module to the module system. If this module is already added, this function does nothing.
-
RV add_modules(Span< Module * > handles)
Adds modules to the module system.
-
void remove_module(Module *handle)
Removes one module from the module system. This function cannot be called when the module is currently initialized.
-
RV add_dependency_module(Module current, Module dependency)
Adds one module as the dependency module of one module. This is usually called in module registration callback.
-
RV add_dependency_modules(Module *current, Span< Module * > dependencies)
Adds one span of modules as the dependency modules of one module.
-
Module * get_module_by_name(const Name &name)
Gets the module pointer by its name. The module must be registered firstly.
-
RV init_module_dependencies(Module *handle)
Initializes all dependency modules for the specified module, but leaves the specified module as uninitialized. You may use this API to perform some pre-init configurations for the module initialize process.
-
RV init_module(Module *handle)
Initializes the specified module and all dependency modules of the specified module.
-
Initializes all uninitialized modules.