annotate mod_csi/mod_csi.lua @ 2968:569b98d6fca1

mod_http_logging: Be robust against missing connection object
author Kim Alvefur <zash@zash.se>
date Fri, 30 Mar 2018 13:37:39 +0200
parents fbb4cd2922a1
children eaf0b1e95016
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1483
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local st = require "util.stanza";
1590
fbb4cd2922a1 mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents: 1483
diff changeset
2 local xmlns_csi = "urn:xmpp:csi:0";
fbb4cd2922a1 mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents: 1483
diff changeset
3 local csi_feature = st.stanza("csi", { xmlns = xmlns_csi });
1483
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 module:hook("stream-features", function (event)
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 if event.origin.username then
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 event.features:add_child(csi_feature);
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 end
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 end);
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 function refire_event(name)
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 return function (event)
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 if event.origin.username then
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 module:fire_event(name, event);
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 return true;
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 end
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 end;
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 end
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19
1590
fbb4cd2922a1 mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents: 1483
diff changeset
20 module:hook("stanza/"..xmlns_csi..":active", refire_event("csi-client-active"));
fbb4cd2922a1 mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents: 1483
diff changeset
21 module:hook("stanza/"..xmlns_csi..":inactive", refire_event("csi-client-inactive"));
1483
90fe03e65d2c mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22