# HG changeset patch # User Matthew Wild # Date 1314731007 14400 # Node ID 6704b3cd032e2b3842e7fcb677cb71a226e4a5e9 # Parent af40cf682ebad21c5bd7fe9db3c5aeabc3361b3e util.pubsub: Support for events (currently subscription-added and subscription-removed) diff -r af40cf682eba -r 6704b3cd032e util/pubsub.lua --- a/util/pubsub.lua Mon Aug 29 15:42:15 2011 -0400 +++ b/util/pubsub.lua Tue Aug 30 15:03:27 2011 -0400 @@ -1,3 +1,5 @@ +local events = require "util.events"; + module("pubsub", package.seeall); local service = {}; @@ -16,6 +18,7 @@ affiliations = {}; subscriptions = {}; nodes = {}; + events = events.new(); }, service_mt); end @@ -123,6 +126,7 @@ else self.subscriptions[normal_jid] = { [jid] = { [node] = true } }; end + self.events.fire_event("subscription-added", { node = node, jid = jid, normalized_jid = normal_jid, options = options }); return true; end @@ -163,6 +167,7 @@ self.subscriptions[normal_jid] = nil; end end + self.events.fire_event("subscription-removed", { node = node, jid = jid, normalized_jid = normal_jid }); return true; end