Comparison

core/moduleapi.lua @ 6655:a99ed5f5f709

moduleapi: Minor variable renaming to avoid clashes with the 'type' function
author Matthew Wild <mwild1@gmail.com>
date Wed, 06 May 2015 19:02:07 +0100
parent 6654:22a7ee3379bc
child 6656:58c111a39d27
comparison
equal deleted inserted replaced
6654:22a7ee3379bc 6655:a99ed5f5f709
61 end 61 end
62 62
63 function api:add_feature(xmlns) 63 function api:add_feature(xmlns)
64 self:add_item("feature", xmlns); 64 self:add_item("feature", xmlns);
65 end 65 end
66 function api:add_identity(category, type, name) 66 function api:add_identity(category, identity_type, name)
67 self:add_item("identity", {category = category, type = type, name = name}); 67 self:add_item("identity", {category = category, type = identity_type, name = name});
68 end 68 end
69 function api:add_extension(data) 69 function api:add_extension(data)
70 self:add_item("extension", data); 70 self:add_item("extension", data);
71 end 71 end
72 function api:has_feature(xmlns) 72 function api:has_feature(xmlns)
73 for _, feature in ipairs(self:get_host_items("feature")) do 73 for _, feature in ipairs(self:get_host_items("feature")) do
74 if feature == xmlns then return true; end 74 if feature == xmlns then return true; end
75 end 75 end
76 return false; 76 return false;
77 end 77 end
78 function api:has_identity(category, type, name) 78 function api:has_identity(category, identity_type, name)
79 for _, id in ipairs(self:get_host_items("identity")) do 79 for _, id in ipairs(self:get_host_items("identity")) do
80 if id.category == category and id.type == type and id.name == name then 80 if id.category == category and id.type == identity_type and id.name == name then
81 return true; 81 return true;
82 end 82 end
83 end 83 end
84 return false; 84 return false;
85 end 85 end
327 function api:get_host_items(key) 327 function api:get_host_items(key)
328 local result = modulemanager.get_items(key, self.host) or {}; 328 local result = modulemanager.get_items(key, self.host) or {};
329 return result; 329 return result;
330 end 330 end
331 331
332 function api:handle_items(type, added_cb, removed_cb, existing) 332 function api:handle_items(item_type, added_cb, removed_cb, existing)
333 self:hook("item-added/"..type, added_cb); 333 self:hook("item-added/"..item_type, added_cb);
334 self:hook("item-removed/"..type, removed_cb); 334 self:hook("item-removed/"..item_type, removed_cb);
335 if existing ~= false then 335 if existing ~= false then
336 for _, item in ipairs(self:get_host_items(type)) do 336 for _, item in ipairs(self:get_host_items(item_type)) do
337 added_cb({ item = item }); 337 added_cb({ item = item });
338 end 338 end
339 end 339 end
340 end 340 end
341 341
387 function api:load_resource(path, mode) 387 function api:load_resource(path, mode)
388 path = resolve_relative_path(self:get_directory(), path); 388 path = resolve_relative_path(self:get_directory(), path);
389 return io.open(path, mode); 389 return io.open(path, mode);
390 end 390 end
391 391
392 function api:open_store(name, type) 392 function api:open_store(name, store_type)
393 return require"core.storagemanager".open(self.host, name or self.name, type); 393 return require"core.storagemanager".open(self.host, name or self.name, store_type);
394 end 394 end
395 395
396 function api:measure(name, type) 396 function api:measure(name, stat_type)
397 return measure(type, "/"..self.host.."/mod_"..self.name.."/"..name); 397 return measure(stat_type, "/"..self.host.."/mod_"..self.name.."/"..name);
398 end 398 end
399 399
400 function api:measure_object_event(events_object, event_name, stat_name) 400 function api:measure_object_event(events_object, event_name, stat_name)
401 local m = self:measure(stat_name or event_name, "duration"); 401 local m = self:measure(stat_name or event_name, "duration");
402 local function handler(handlers, event_name, event_data) 402 local function handler(handlers, _event_name, _event_data)
403 local finished = m(); 403 local finished = m();
404 local ret = handlers(event_name, event_data); 404 local ret = handlers(_event_name, _event_data);
405 finished(); 405 finished();
406 return ret; 406 return ret;
407 end 407 end
408 return self:hook_object_event(events_object, event_name, handler); 408 return self:hook_object_event(events_object, event_name, handler);
409 end 409 end