From 503c9d4255d0adaeb1aadecca2572facff57ecb0 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 21 Dec 2010 03:22:40 +0000 Subject: util.pubsub: Modify new() to take a config, and add a default config via a metatable --- util/pubsub.lua | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'util/pubsub.lua') diff --git a/util/pubsub.lua b/util/pubsub.lua index 811f4a15..f667295e 100644 --- a/util/pubsub.lua +++ b/util/pubsub.lua @@ -3,8 +3,19 @@ module("pubsub", package.seeall); local service = {}; local service_mt = { __index = service }; -function new(cb) - return setmetatable({ cb = cb or {}, nodes = {} }, service_mt); +local default_config = { + broadcaster = function () end; + get_affiliation = function () end; + capabilities = {}; +}; + +function new(config) + config = config or {}; + return setmetatable({ + config = setmetatable(config, { __index = default_config }); + affiliations = {}; + nodes = {}; + }, service_mt); end function service:add_subscription(node, actor, jid) -- cgit v1.2.3