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:
Kyle Evans 2018-06-06 18:28:17 +00:00
parent cbb009b9fe
commit 7aba5b2f6a

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