From cf60da80bf867d6d18d1a0518cfbd6777b8d48cb Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 21 Dec 2010 03:22:40 +0000 Subject: [PATCH] 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(-) 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) -- 2.30.2