lualoader: Add a loaded hook for others to execute upon config load

This will not be executed on reload, though later work could allow for that.
It's intended/expected that later work won't generally need to happen on
every config load, just once (for, e.g., menu initialization) or just when
config is reloaded but not upon the initial load.
This commit is contained in:
kevans 2018-06-06 18:28:17 +00:00
parent ca68d3bdd1
commit d09b92b4d4

View File

@ -458,7 +458,7 @@ function config.selectKernel(kernel)
config.kernel_selected = kernel
end
function config.load(file)
function config.load(file, reloading)
if not file then
file = "/boot/defaults/loader.conf"
end
@ -485,13 +485,16 @@ function config.load(file)
config.module_path = loader.getenv("module_path")
local verbose = loader.getenv("verbose_loading") or "no"
config.verbose = verbose:lower() == "yes"
if not reloading then
hook.runAll("config.loaded")
end
end
-- Reload configuration
function config.reload(file)
modules = {}
restoreEnv()
config.load(file)
config.load(file, true)
hook.runAll("config.reloaded")
end
@ -512,5 +515,6 @@ function config.loadelf()
end
end
hook.registerType("config.loaded")
hook.registerType("config.reloaded")
return config