Comparison

core/modulemanager.lua @ 540:ec03f6968fa8

Added function add_feature to modules API (for adding disco features)
author Waqas Hussain <waqas20@gmail.com>
date Thu, 04 Dec 2008 20:07:22 +0500
parent 519:cccd610a0ef9
child 569:5216efe6088b
comparison
equal deleted inserted replaced
539:cbcadb1a6166 540:ec03f6968fa8
20 20
21 21
22 local plugin_dir = CFG_PLUGINDIR or "./plugins/"; 22 local plugin_dir = CFG_PLUGINDIR or "./plugins/";
23 23
24 local logger = require "util.logger"; 24 local logger = require "util.logger";
25 local log = logger.init("modulemanager") 25 local log = logger.init("modulemanager");
26 local addDiscoInfoHandler = require "core.discomanager".addDiscoInfoHandler;
26 27
27 local loadfile, pcall = loadfile, pcall; 28 local loadfile, pcall = loadfile, pcall;
28 local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv; 29 local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv;
29 local pairs, ipairs = pairs, ipairs; 30 local pairs, ipairs = pairs, ipairs;
30 local t_insert = table.insert; 31 local t_insert = table.insert;
170 return; 171 return;
171 end 172 end
172 _add_iq_handler(self, origin_type, xmlns, handler); 173 _add_iq_handler(self, origin_type, xmlns, handler);
173 end 174 end
174 175
176 function api:add_feature(xmlns)
177 addDiscoInfoHandler(self.host, function(reply, to, from, node)
178 if #node == 0 then
179 reply:tag("feature", {var = xmlns}):up();
180 return true;
181 end
182 end);
183 end
184
175 185
176 do 186 do
177 local event_handlers = {}; 187 local event_handlers = {};
178 188
179 function api:add_event_hook(name, handler) 189 function api:add_event_hook(name, handler)