diff options
author | Matthew Wild <mwild1@gmail.com> | 2008-12-06 03:41:49 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2008-12-06 03:41:49 +0000 |
commit | dfeabed19fd81dabeb88477c716ecd4c132484c0 (patch) | |
tree | a5ccac952fd39818218b3f2e571f70545f52d142 /core/modulemanager.lua | |
parent | c0334a2ad92f5bff979f309a6276b067487c03a8 (diff) | |
download | prosody-dfeabed19fd81dabeb88477c716ecd4c132484c0.tar.gz prosody-dfeabed19fd81dabeb88477c716ecd4c132484c0.zip |
Add hostmanager, and eventmanager
Diffstat (limited to 'core/modulemanager.lua')
-rw-r--r-- | core/modulemanager.lua | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/core/modulemanager.lua b/core/modulemanager.lua index 532a0f86..aa59b9da 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -24,6 +24,8 @@ local plugin_dir = CFG_PLUGINDIR or "./plugins/"; local logger = require "util.logger"; local log = logger.init("modulemanager"); local addDiscoInfoHandler = require "core.discomanager".addDiscoInfoHandler; +local eventmanager = require "core.eventmanager"; + local loadfile, pcall = loadfile, pcall; local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv; @@ -182,28 +184,7 @@ function api:add_feature(xmlns) end); end - -do - local event_handlers = {}; - - function api:add_event_hook(name, handler) - if not event_handlers[name] then - event_handlers[name] = {}; - end - t_insert(event_handlers[name] , handler); - self:log("debug", "Subscribed to %s", name); - end - - function fire_event(name, ...) - local event_handlers = event_handlers[name]; - if event_handlers then - for name, handler in ipairs(event_handlers) do - handler(...); - end - end - end -end - +api.add_event_hook = eventmanager.add_event_hook; local function _add_handler(module, origin_type, tag, xmlns, handler) local handlers = stanza_handlers[module.host]; |