Modules
Define properly modules.
Modules should only use the queue to communicate information to the lkt_state
.
The lkt_state
should use the reg
to get function pointers and other properties from the modules.
This reg will include macros to get function pointers and call the function with the given arguments.
The reg will notify when a function is not available, and won't segfault. By doing so:
-
Some modules (player, repo) won't be necessary to launch lektord. The server can be launched even if some functionalities are not here. -
Simplify the modules information in the lektor.ini
file. -
It will be possible to unload and load modules on the fly. -
Events from the lkt_state
queue can be differed to when the module is loaded.
Modification effectuée par Kubat