jabberd2
2.5.0
|
presence tracker More...
#include "sm.h"
Go to the source code of this file.
Functions | |
static void | _pres_top (user_t user) |
select a new top session based on current session presence More... | |
void | pres_update (sess_t sess, pkt_t pkt) |
presence updates from a session More... | |
void | pres_in (user_t user, pkt_t pkt) |
presence updates from a remote jid - RFC 3921bis 4.3.2. More... | |
void | pres_error (sess_t sess, jid_t jid) |
void | pres_deliver (sess_t sess, pkt_t pkt) |
outgoing directed presence More... | |
int | pres_trust (user_t user, jid_t jid) |
see if the jid is trusted (ie in the roster with s10n="from" or "both") More... | |
void | pres_roster (sess_t sess, item_t item) |
send presence based on roster changes More... | |
void | pres_probe (user_t user) |
|
static |
select a new top session based on current session presence
Definition at line 41 of file pres.c.
References user_st::available, sess_st::available, sess_st::fake, user_st::jid, sess_st::jid, jid_full(), jid_user(), log_debug, sess_st::next, sess_st::pri, user_st::sessions, user_st::top, and ZONE.
Referenced by pres_update().
presence updates from a session
Definition at line 72 of file pres.c.
References _pres_top(), sess_st::A, sess_st::available, sess_st::E, sess_st::fake, pkt_st::from, item_st::from, item_st::jid, sess_st::jid, jid_free(), jid_full(), jid_new(), jid_reset(), jid_search(), jid_user(), sm_st::log, log_debug, log_write(), jid_st::next, sess_st::next, pkt_create(), pkt_delay(), pkt_dup(), pkt_free(), pkt_PRESENCE, pkt_PRESENCE_PROBE, pkt_PRESENCE_UN, pkt_router(), sess_st::pres, pres_in(), pres_trust(), pkt_st::pri, sess_st::pri, user_st::roster, user_st::sessions, user_st::sm, pkt_st::to, item_st::to, pkt_st::type, sess_st::user, xhash_iter_first(), xhash_iter_get(), xhash_iter_next(), and ZONE.
Referenced by _presence_in_sess().
presence updates from a remote jid - RFC 3921bis 4.3.2.
Definition at line 220 of file pres.c.
References user_st::available, sess_st::available, sess_st::E, sess_st::fake, pkt_st::from, user_st::jid, sess_st::jid, jid_compare_full(), jid_full(), jid_user(), jid_zap(), log_debug, pkt_st::nad, nad_copy(), nad_set_attr(), sess_st::next, pkt_create(), pkt_dup(), pkt_free(), pkt_new(), pkt_PRESENCE_PROBE, pkt_router(), pkt_sess(), sess_st::pres, pres_trust(), jid_st::resource, user_st::sessions, pkt_st::sm, user_st::sm, sm_st::st, pkt_st::to, pkt_st::type, and ZONE.
Referenced by _presence_pkt_user(), pres_deliver(), and pres_update().
Definition at line 307 of file pres.c.
References sess_st::A, sess_st::E, jid_append(), jid_full(), jid_zap(), log_debug, and ZONE.
Referenced by _presence_pkt_user().
outgoing directed presence
Definition at line 315 of file pres.c.
References sess_st::A, sess_st::E, pkt_st::from, sess_st::jid, jid_append(), jid_compare_user(), jid_full(), jid_reset(), jid_zap(), log_debug, pkt_free(), pkt_PRESENCE, pkt_PRESENCE_UN, pkt_router(), pres_in(), pres_trust(), pkt_st::to, pkt_st::type, sess_st::user, and ZONE.
Referenced by _presence_in_sess().
see if the jid is trusted (ie in the roster with s10n="from" or "both")
Definition at line 356 of file pres.c.
References item_st::from, user_st::jid, jid_compare_user(), jid_full(), jid_user(), user_st::roster, and xhash_get().
Referenced by _iq_last_pkt_user(), _privacy_in_sess(), _unblock_jid(), pres_deliver(), pres_in(), and pres_update().
send presence based on roster changes
Definition at line 378 of file pres.c.
References sess_st::A, sess_st::available, sess_st::E, item_st::from, item_st::jid, sess_st::jid, jid_full(), jid_search(), log_debug, pkt_create(), pkt_dup(), pkt_router(), sess_st::pres, user_st::sm, sess_st::user, and ZONE.
Referenced by _roster_in_sess_s10n(), _roster_pkt_user(), and _roster_set_item().
void pres_probe | ( | user_t | user | ) |
Definition at line 399 of file pres.c.
References item_st::jid, user_st::jid, jid_full(), jid_user(), log_debug, pkt_create(), pkt_router(), user_st::roster, user_st::sm, item_st::to, xhash_iter_first(), xhash_iter_get(), xhash_iter_next(), and ZONE.