aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/modulemanager.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/modulemanager.lua b/core/modulemanager.lua
index d0a0f982..b89c5af3 100644
--- a/core/modulemanager.lua
+++ b/core/modulemanager.lua
@@ -453,4 +453,14 @@ function api:get_host_items(key)
return result;
end
+function api:handle_items(type, added_cb, removed_cb, existing)
+ self:hook("item-added/"..type, added_cb);
+ self:hook("item-removed/"..type, removed_cb);
+ if existing ~= false then
+ for _, item in ipairs(self:get_host_items(type)) do
+ added_cb({ item = item });
+ end
+ end
+end
+
return _M;