aboutsummaryrefslogtreecommitdiffstats
path: root/core/modulemanager.lua
diff options
context:
space:
mode:
Diffstat (limited to 'core/modulemanager.lua')
-rw-r--r--core/modulemanager.lua19
1 files changed, 16 insertions, 3 deletions
diff --git a/core/modulemanager.lua b/core/modulemanager.lua
index efb909ac..52fbc65d 100644
--- a/core/modulemanager.lua
+++ b/core/modulemanager.lua
@@ -27,7 +27,7 @@ local addDiscoInfoHandler = require "core.discomanager".addDiscoInfoHandler;
local eventmanager = require "core.eventmanager";
local config = require "core.configmanager";
local multitable_new = require "util.multitable".new;
-
+local register_actions = require "core.actions".register;
local loadfile, pcall = loadfile, pcall;
local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv;
@@ -68,11 +68,11 @@ function load_modules_for_host(host)
local disabled_set = {};
if modules_enabled then
if modules_disabled then
- for _, module in pairs(modules_disabled) do
+ for _, module in ipairs(modules_disabled) do
disabled_set[module] = true;
end
end
- for _, module in pairs(modules_enabled) do
+ for _, module in ipairs(modules_enabled) do
if not disabled_set[module] then
load(host, module);
end
@@ -256,4 +256,17 @@ end
--------------------------------------------------------------------
+local actions = {};
+
+function actions.load(params)
+ --return true, "Module loaded ("..params.module.." on "..params.host..")";
+ return load(params.host, params.module);
+end
+
+function actions.unload(params)
+ return unload(params.host, params.module);
+end
+
+register_actions("/modules", actions);
+
return _M;