core/moduleapi.lua
changeset 5528 2539e60cc070
parent 5527 7e7f45f587a1
child 5529 af58eea131b4
equal deleted inserted replaced
5525:8e41b127e44e 5528:2539e60cc070
   268 	end
   268 	end
   269 	
   269 	
   270 	return set.new(value);
   270 	return set.new(value);
   271 end
   271 end
   272 
   272 
       
   273 function api:get_option_inherited_set(name, ...)
       
   274 	local value = self:get_option_set(name, ...);
       
   275 	local global_value = self:context("*"):get_option_set(name, ...);
       
   276 	if not value then
       
   277 		return global_value;
       
   278 	elseif not global_value then
       
   279 		return value;
       
   280 	end
       
   281 	value:include(global_value);
       
   282 	return value;
       
   283 end
       
   284 
       
   285 function api:context(host)
       
   286 	return setmetatable({host=host or "*"}, {__index=self,__newindex=self});
       
   287 end
       
   288 
   273 function api:add_item(key, value)
   289 function api:add_item(key, value)
   274 	self.items = self.items or {};
   290 	self.items = self.items or {};
   275 	self.items[key] = self.items[key] or {};
   291 	self.items[key] = self.items[key] or {};
   276 	t_insert(self.items[key], value);
   292 	t_insert(self.items[key], value);
   277 	self:fire_event("item-added/"..key, {source = self, item = value});
   293 	self:fire_event("item-added/"..key, {source = self, item = value});