Comparison

core/moduleapi.lua @ 6779:6236668da30a

core.*: Remove use of module() function
author Kim Alvefur <zash@zash.se>
date Sat, 21 Feb 2015 10:42:19 +0100
parent 6659:0a494394cd3e
child 6791:e813e8cf6046
child 7115:805d068d2fd5
comparison
equal deleted inserted replaced
6778:4009ae66e0f0 6779:6236668da30a
5 -- This project is MIT/X11 licensed. Please see the 5 -- This project is MIT/X11 licensed. Please see the
6 -- COPYING file in the source package for more information. 6 -- COPYING file in the source package for more information.
7 -- 7 --
8 8
9 local config = require "core.configmanager"; 9 local config = require "core.configmanager";
10 local modulemanager; -- This gets set from modulemanager
11 local array = require "util.array"; 10 local array = require "util.array";
12 local set = require "util.set"; 11 local set = require "util.set";
13 local it = require "util.iterators"; 12 local it = require "util.iterators";
14 local logger = require "util.logger"; 13 local logger = require "util.logger";
15 local pluginloader = require "util.pluginloader"; 14 local pluginloader = require "util.pluginloader";
143 if not f then error("Failed to load plugin library '"..lib.."', error: "..n); end -- FIXME better error message 142 if not f then error("Failed to load plugin library '"..lib.."', error: "..n); end -- FIXME better error message
144 return f(); 143 return f();
145 end 144 end
146 145
147 function api:depends(name) 146 function api:depends(name)
147 local modulemanager = require"core.modulemanager";
148 if not self.dependencies then 148 if not self.dependencies then
149 self.dependencies = {}; 149 self.dependencies = {};
150 self:hook("module-reloaded", function (event) 150 self:hook("module-reloaded", function (event)
151 if self.dependencies[event.module] and not self.reloading then 151 if self.dependencies[event.module] and not self.reloading then
152 self:log("info", "Auto-reloading due to reload of %s:%s", event.host, event.module); 152 self:log("info", "Auto-reloading due to reload of %s:%s", event.host, event.module);
324 end 324 end
325 end 325 end
326 end 326 end
327 327
328 function api:get_host_items(key) 328 function api:get_host_items(key)
329 local modulemanager = require"core.modulemanager";
329 local result = modulemanager.get_items(key, self.host) or {}; 330 local result = modulemanager.get_items(key, self.host) or {};
330 return result; 331 return result;
331 end 332 end
332 333
333 function api:handle_items(item_type, added_cb, removed_cb, existing) 334 function api:handle_items(item_type, added_cb, removed_cb, existing)
415 416
416 function api:measure_global_event(event_name, stat_name) 417 function api:measure_global_event(event_name, stat_name)
417 return self:measure_object_event(prosody.events.wrappers, event_name, stat_name); 418 return self:measure_object_event(prosody.events.wrappers, event_name, stat_name);
418 end 419 end
419 420
420 function api.init(mm)
421 modulemanager = mm;
422 return api;
423 end
424
425 return api; 421 return api;