jabberd2
2.2.16
|
status info management More...
Go to the source code of this file.
Data Structures | |
struct | _status_st |
Defines | |
#define | _GNU_SOURCE |
Typedefs | |
typedef struct _status_st * | status_t |
Functions | |
static void | _status_os_replace (storage_t st, const unsigned char *jid, char *status, char *show, time_t *lastlogin, time_t *lastlogout, nad_t nad) |
static void | _status_store (storage_t st, const unsigned char *jid, pkt_t pkt, time_t *lastlogin, time_t *lastlogout) |
static int | _status_sess_start (mod_instance_t mi, sess_t sess) |
static void | _status_sess_end (mod_instance_t mi, sess_t sess) |
static mod_ret_t | _status_in_sess (mod_instance_t mi, sess_t sess, pkt_t pkt) |
static mod_ret_t | _status_pkt_sm (mod_instance_t mi, pkt_t pkt) |
static void | _status_user_delete (mod_instance_t mi, jid_t jid) |
static void | _status_free (module_t mod) |
DLLEXPORT int | module_init (mod_instance_t mi, char *arg) |
#define _GNU_SOURCE |
Definition at line 28 of file mod_status.c.
typedef struct _status_st * status_t |
static void _status_os_replace | ( | storage_t | st, |
const unsigned char * | jid, | ||
char * | status, | ||
char * | show, | ||
time_t * | lastlogin, | ||
time_t * | lastlogout, | ||
nad_t | nad | ||
) | [static] |
Definition at line 37 of file mod_status.c.
Referenced by _status_store(), _status_sess_start(), and _status_sess_end().
static void _status_store | ( | storage_t | st, |
const unsigned char * | jid, | ||
pkt_t | pkt, | ||
time_t * | lastlogin, | ||
time_t * | lastlogout | ||
) | [static] |
Definition at line 49 of file mod_status.c.
References pkt_st::type, pkt_PRESENCE_UN, nad_find_elem(), pkt_st::nad, NAD_ENS, NAD_CDATA_L, NAD_CDATA, and _status_os_replace().
Referenced by _status_in_sess(), and _status_pkt_sm().
static int _status_sess_start | ( | mod_instance_t | mi, |
sess_t | sess | ||
) | [static] |
Definition at line 81 of file mod_status.c.
References sess_st::user, user_st::top, mod_PASS, user_st::sm, sm_st::st, jid_user(), sess_st::jid, nad_copy(), _status_os_replace(), and nad_free().
Referenced by module_init().
static void _status_sess_end | ( | mod_instance_t | mi, |
sess_t | sess | ||
) | [static] |
Definition at line 118 of file mod_status.c.
References sess_st::user, user_st::top, user_st::sm, sm_st::st, jid_user(), sess_st::jid, nad_copy(), _status_os_replace(), and nad_free().
Referenced by module_init().
static mod_ret_t _status_in_sess | ( | mod_instance_t | mi, |
sess_t | sess, | ||
pkt_t | pkt | ||
) | [static] |
Definition at line 153 of file mod_status.c.
References pkt_st::type, pkt_PRESENCE, mod_PASS, sess_st::user, user_st::sm, sm_st::st, jid_user(), sess_st::jid, pkt_st::to, and _status_store().
Referenced by module_init().
static mod_ret_t _status_pkt_sm | ( | mod_instance_t | mi, |
pkt_t | pkt | ||
) | [static] |
Definition at line 188 of file mod_status.c.
References mod_instance_st::mod, module_st::private, pkt_st::type, pkt_PRESENCE, pkt_PRESENCE_UN, log_debug, ZONE, jid_full(), pkt_st::from, _status_store(), module_st::mm, mm_st::sm, sm_st::st, jid_user(), _status_st::resource, pkt_PRESENCE_PROBE, pkt_S10N, jid_new(), pkt_st::to, jid_st::domain, jid_reset_components(), jid_st::node, pkt_router(), pkt_create(), _status_st::sm, jid_free(), and mod_PASS.
Referenced by module_init().
static void _status_user_delete | ( | mod_instance_t | mi, |
jid_t | jid | ||
) | [static] |
Definition at line 219 of file mod_status.c.
References log_debug, ZONE, jid_user(), mod_instance_st::sm, and sm_st::st.
Referenced by module_init().
static void _status_free | ( | module_t | mod | ) | [static] |
Definition at line 225 of file mod_status.c.
References module_st::private.
Referenced by module_init().
DLLEXPORT int module_init | ( | mod_instance_t | mi, |
char * | arg | ||
) |
Definition at line 229 of file mod_status.c.
References mod_instance_st::mod, module_st::init, _status_st::sm, module_st::mm, mm_st::sm, _status_st::resource, config_get_one(), sm_st::config, module_st::private, module_st::sess_start, _status_sess_start(), module_st::sess_end, _status_sess_end(), module_st::in_sess, _status_in_sess(), module_st::pkt_sm, _status_pkt_sm(), module_st::user_delete, _status_user_delete(), module_st::free, and _status_free().