Software /
code /
prosody
Comparison
core/moduleapi.lua @ 6651:deaa3d66dc2c
moduleapi: Add module:broadcast() to send a stanza to a list of JIDs
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 06 May 2015 18:37:46 +0100 |
parent | 6640:859e9af53aa1 |
child | 6652:06116b2789f0 |
comparison
equal
deleted
inserted
replaced
6641:b44ebfe81c73 | 6651:deaa3d66dc2c |
---|---|
8 | 8 |
9 local config = require "core.configmanager"; | 9 local config = require "core.configmanager"; |
10 local modulemanager; -- This gets set from modulemanager | 10 local modulemanager; -- This gets set from modulemanager |
11 local array = require "util.array"; | 11 local array = require "util.array"; |
12 local set = require "util.set"; | 12 local set = require "util.set"; |
13 local it = require "util.iterators"; | |
13 local logger = require "util.logger"; | 14 local logger = require "util.logger"; |
14 local pluginloader = require "util.pluginloader"; | 15 local pluginloader = require "util.pluginloader"; |
15 local timer = require "util.timer"; | 16 local timer = require "util.timer"; |
16 local resolve_relative_path = require"util.paths".resolve_relative_path; | 17 local resolve_relative_path = require"util.paths".resolve_relative_path; |
17 local measure = require "core.statsmanager".measure; | 18 local measure = require "core.statsmanager".measure; |
360 | 361 |
361 function api:send(stanza) | 362 function api:send(stanza) |
362 return core_post_stanza(hosts[self.host], stanza); | 363 return core_post_stanza(hosts[self.host], stanza); |
363 end | 364 end |
364 | 365 |
366 function api:broadcast(jids, stanza, iter) | |
367 for jid in (iter or it.values)(jids) do | |
368 local new_stanza = st.clone(stanza); | |
369 new_stanza.attr.to = jid; | |
370 core_post_stanza(hosts[self.host], new_stanza); | |
371 end | |
372 end | |
373 | |
365 function api:add_timer(delay, callback) | 374 function api:add_timer(delay, callback) |
366 return timer.add_task(delay, function (t) | 375 return timer.add_task(delay, function (t) |
367 if self.loaded == false then return; end | 376 if self.loaded == false then return; end |
368 return callback(t); | 377 return callback(t); |
369 end); | 378 end); |