core/eventmanager.lua

Sun, 14 Jun 2009 14:28:20 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Sun, 14 Jun 2009 14:28:20 +0500
changeset 1348
ffa70c0df850
parent 569
5216efe6088b
child 1514
0c706c3d2e30
permissions
-rw-r--r--

stanza_router: Use stanza.attr.from's host instead of origin.host when routing stanzas to remote hosts (fixes problem with sending from node@host components)


local t_insert = table.insert;
local ipairs = ipairs;

module "eventmanager"

local event_handlers = {};

function add_event_hook(name, handler)
	if not event_handlers[name] then
		event_handlers[name] = {};
	end
	t_insert(event_handlers[name] , handler);
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

return _M;

mercurial