Software /
code /
prosody
Changeset
573:f6555ebf84ec
Move module loading to modulemanager
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 06 Dec 2008 04:03:33 +0000 |
parents | 572:b2d665689df7 |
children | 574:5963b780775d 578:5879264e28e2 |
files | core/modulemanager.lua prosody |
diffstat | 2 files changed, 12 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/core/modulemanager.lua Sat Dec 06 03:42:21 2008 +0000 +++ b/core/modulemanager.lua Sat Dec 06 04:03:33 2008 +0000 @@ -25,6 +25,7 @@ local log = logger.init("modulemanager"); local addDiscoInfoHandler = require "core.discomanager".addDiscoInfoHandler; local eventmanager = require "core.eventmanager"; +local config = require "core.configmanager"; local loadfile, pcall = loadfile, pcall; @@ -49,6 +50,17 @@ local modulehelpers = setmetatable({}, { __index = _G }); +-- Load modules when a host is activated +function load_modules_for_host(host) + local modules_enabled = config.get(host, "core", "modules_enabled"); + if modules_enabled then + for _, module in pairs(modules_enabled) do + load(host, module); + end + end +end +eventmanager.add_event_hook("host-activated", load_modules_for_host); +-- function load(host, module_name, config) if not (host and module_name) then
--- a/prosody Sat Dec 06 03:42:21 2008 +0000 +++ b/prosody Sat Dec 06 04:03:33 2008 +0000 @@ -135,18 +135,6 @@ eventmanager.fire_event("server-starting"); --- Initialise modules - -for host in pairs(hosts) do - if host ~= "*" then - local modules_enabled = config.get(host, "core", "modules_enabled"); - if modules_enabled then - for _, module in pairs(modules_enabled) do - modulemanager.load(host, module); - end - end - end -end -- setup error handling setmetatable(_G, { __index = function (t, k) print("WARNING: ATTEMPT TO READ A NIL GLOBAL!!!", k); error("Attempt to read a non-existent global. Naughty boy.", 2); end, __newindex = function (t, k, v) print("ATTEMPT TO SET A GLOBAL!!!!", tostring(k).." = "..tostring(v)); error("Attempt to set a global. Naughty boy.", 2); end }) --]][][[]][];