loggingmanager: Call setvbuf on output files, defaulting to line-buffered, instead...
[prosody.git] / core / moduleapi.lua
index 0cb1f1e7f13a552bb532a6d82cfc1ad761101432..c439ba6f6459d5ee459338b8186d472c67bb8508 100644 (file)
@@ -7,7 +7,6 @@
 --
 
 local config = require "core.configmanager";
-local modulemanager; -- This gets set from modulemanager
 local array = require "util.array";
 local set = require "util.set";
 local it = require "util.iterators";
@@ -136,15 +135,13 @@ function api:wrap_global(event, handler)
 end
 
 function api:require(lib)
-       local f, n = pluginloader.load_code(self.name, lib..".lib.lua", self.environment);
-       if not f then
-               f, n = pluginloader.load_code(lib, lib..".lib.lua", self.environment);
-       end
+       local f, n = pluginloader.load_code_ext(self.name, lib, "lib.lua", self.environment);
        if not f then error("Failed to load plugin library '"..lib.."', error: "..n); end -- FIXME better error message
        return f();
 end
 
 function api:depends(name)
+       local modulemanager = require"core.modulemanager";
        if not self.dependencies then
                self.dependencies = {};
                self:hook("module-reloaded", function (event)
@@ -326,6 +323,7 @@ function api:remove_item(key, value)
 end
 
 function api:get_host_items(key)
+       local modulemanager = require"core.modulemanager";
        local result = modulemanager.get_items(key, self.host) or {};
        return result;
 end
@@ -417,9 +415,4 @@ function api:measure_global_event(event_name, stat_name)
        return self:measure_object_event(prosody.events.wrappers, event_name, stat_name);
 end
 
-function api.init(mm)
-       modulemanager = mm;
-       return api;
-end
-
 return api;