jabberd2
2.2.16
|
announce (broadcast) messages More...
Go to the source code of this file.
Data Structures | |
struct | moddata_st |
Typedefs | |
typedef struct moddata_st * | moddata_t |
Functions | |
static void | _announce_load (module_t mod, moddata_t data, const char *domain) |
static mod_ret_t | _announce_in_sess (mod_instance_t mi, sess_t sess, pkt_t pkt) |
static void | _announce_broadcast_user (const char *key, int keylen, void *val, void *arg) |
static mod_ret_t | _announce_pkt_sm (mod_instance_t mi, pkt_t pkt) |
static void | _announce_user_delete (mod_instance_t mi, jid_t jid) |
static void | _announce_free (module_t mod) |
DLLEXPORT int | module_init (mod_instance_t mi, char *arg) |
announce (broadcast) messages
Definition in file mod_announce.c.
typedef struct moddata_st * moddata_t |
Definition at line 46 of file mod_announce.c.
References moddata_st::loaded, module_st::mm, mm_st::sm, sm_st::st, moddata_st::nad, nad_copy(), nad_find_scoped_namespace(), uri_DELAY, nad_find_elem(), nad_find_attr(), NAD_AVAL_L, NAD_AVAL, moddata_st::t, and moddata_st::tos.
Referenced by _announce_in_sess().
static mod_ret_t _announce_in_sess | ( | mod_instance_t | mi, |
sess_t | sess, | ||
pkt_t | pkt | ||
) | [static] |
Definition at line 119 of file mod_announce.c.
References mod_instance_st::mod, module_st::private, moddata_st::nad, moddata_st::loaded, mod_PASS, _announce_load(), sess_st::user, user_st::jid, jid_st::domain, pkt_st::type, pkt_PRESENCE, pkt_st::to, user_st::top, user_st::module_data, module_st::index, user_st::sm, sm_st::st, jid_user(), sess_st::jid, moddata_st::t, log_debug, ZONE, jid_full(), nad_copy(), nad_set_attr(), pkt_new(), module_st::mm, mm_st::sm, nad_free(), pkt_router(), and moddata_st::tos.
Referenced by module_init().
static void _announce_broadcast_user | ( | const char * | key, |
int | keylen, | ||
void * | val, | ||
void * | arg | ||
) | [static] |
Definition at line 174 of file mod_announce.c.
References user_st::sessions, sess_st::next, sess_st::available, sess_st::pri, log_debug, ZONE, jid_full(), sess_st::jid, nad_copy(), moddata_st::nad, nad_set_attr(), jid_st::domain, pkt_router(), pkt_new(), user_st::sm, sess_st::user, user_st::module_data, moddata_st::index, moddata_st::t, sm_st::st, jid_user(), and moddata_st::tos.
Referenced by _announce_pkt_sm().
static mod_ret_t _announce_pkt_sm | ( | mod_instance_t | mi, |
pkt_t | pkt | ||
) | [static] |
Definition at line 197 of file mod_announce.c.
References mod_instance_st::mod, module_st::private, pkt_st::type, pkt_PRESENCE_PROBE, pkt_S10N, aci_check(), module_st::mm, mm_st::sm, sm_st::acls, pkt_st::from, log_debug, ZONE, jid_full(), jid_new(), jid_st::domain, jid_reset_components(), moddata_st::announce_resource, pkt_router(), pkt_create(), jid_user(), jid_free(), moddata_st::online_resource, pkt_MESSAGE, pkt_st::to, jid_st::resource, mod_PASS, stanza_err_FORBIDDEN, nad_set_attr(), pkt_st::nad, nad_find_elem(), nad_drop_elem(), pkt_dup(), pkt_delay(), sm_st::st, pkt_free(), stanza_err_INTERNAL_SERVER_ERROR, stanza_err_FEATURE_NOT_IMPLEMENTED, moddata_st::nad, nad_free(), moddata_st::t, moddata_st::tos, mod_HANDLED, xhash_walk(), sm_st::users, and _announce_broadcast_user().
Referenced by module_init().
static void _announce_user_delete | ( | mod_instance_t | mi, |
jid_t | jid | ||
) | [static] |
Definition at line 311 of file mod_announce.c.
References log_debug, ZONE, jid_user(), mod_instance_st::sm, and sm_st::st.
Referenced by module_init().
static void _announce_free | ( | module_t | mod | ) | [static] |
Definition at line 317 of file mod_announce.c.
References module_st::private, moddata_st::nad, nad_free(), and moddata_st::tos.
Referenced by module_init().
DLLEXPORT int module_init | ( | mod_instance_t | mi, |
char * | arg | ||
) |
Definition at line 325 of file mod_announce.c.
References mod_instance_st::mod, module_st::init, module_st::private, moddata_st::index, module_st::index, moddata_st::announce_resource, moddata_st::online_resource, module_st::in_sess, _announce_in_sess(), module_st::pkt_sm, _announce_pkt_sm(), module_st::user_delete, _announce_user_delete(), module_st::free, and _announce_free().