jabberd2
2.2.16
|
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 | |
void | pres_update (sess_t sess, pkt_t pkt) |
presence updates from a session | |
void | pres_in (user_t user, pkt_t pkt) |
presence updates from a remote jid - RFC 3921bis 4.3.2. | |
void | pres_error (sess_t sess, jid_t jid) |
void | pres_deliver (sess_t sess, pkt_t pkt) |
outgoing directed presence | |
int | pres_trust (user_t user, jid_t jid) |
see if the jid is trusted (ie in the roster with s10n="from" or "both") | |
void | pres_roster (sess_t sess, item_t item) |
send presence based on roster changes | |
void | pres_probe (user_t user) |
static void _pres_top | ( | 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::top, user_st::available, user_st::sessions, sess_st::next, sess_st::available, sess_st::pri, sess_st::fake, log_debug, ZONE, jid_user(), user_st::jid, jid_full(), and sess_st::jid.
Referenced by pres_update().
presence updates from a session
Definition at line 72 of file pres.c.
References pkt_st::type, pkt_PRESENCE, log_debug, ZONE, jid_full(), sess_st::jid, sess_st::pres, pkt_free(), xhash_iter_first(), sess_st::user, user_st::roster, xhash_iter_get(), sess_st::available, pkt_router(), pkt_create(), user_st::sm, jid_user(), jid_search(), sess_st::E, pkt_dup(), xhash_iter_next(), user_st::sessions, sess_st::next, sess_st::fake, sess_st::pri, pkt_st::pri, pkt_delay(), pkt_st::from, pkt_PRESENCE_UN, sess_st::A, jid_st::next, pres_trust(), jid_free(), and _pres_top().
Referenced by _presence_in_sess().
presence updates from a remote jid - RFC 3921bis 4.3.2.
Definition at line 212 of file pres.c.
References log_debug, ZONE, pkt_st::type, jid_full(), pkt_st::from, pkt_PRESENCE_PROBE, pres_trust(), pkt_router(), pkt_create(), user_st::sm, pkt_st::to, pkt_free(), user_st::available, sm_st::st, jid_user(), user_st::jid, pkt_new(), pkt_st::sm, nad_copy(), nad_set_attr(), pkt_st::nad, pkt_dup(), user_st::sessions, sess_st::next, sess_st::available, sess_st::fake, jid_compare_full(), sess_st::jid, jid_st::resource, sess_st::pres, sess_st::E, jid_zap(), and pkt_sess().
Referenced by _presence_pkt_user().
Definition at line 296 of file pres.c.
References log_debug, ZONE, jid_full(), sess_st::E, jid_append(), sess_st::A, and jid_zap().
Referenced by _presence_pkt_user().
outgoing directed presence
Definition at line 304 of file pres.c.
References jid_full(), pkt_st::to, log_debug, ZONE, pkt_free(), pkt_st::type, pkt_PRESENCE, pres_trust(), sess_st::user, sess_st::A, jid_append(), sess_st::E, jid_zap(), pkt_router(), and pkt_PRESENCE_UN.
Referenced by _presence_in_sess().
see if the jid is trusted (ie in the roster with s10n="from" or "both")
Definition at line 337 of file pres.c.
References xhash_get(), user_st::roster, jid_user(), jid_full(), item_st::from, jid_compare_user(), and user_st::jid.
Referenced by _iq_last_pkt_user(), _unblock_jid(), _privacy_in_sess(), pres_update(), pres_in(), and pres_deliver().
send presence based on roster changes
Definition at line 359 of file pres.c.
References sess_st::available, item_st::from, jid_search(), sess_st::A, item_st::jid, sess_st::E, log_debug, ZONE, jid_full(), pkt_router(), pkt_create(), sess_st::user, user_st::sm, sess_st::jid, pkt_dup(), and sess_st::pres.
Referenced by _roster_in_sess_s10n(), _roster_set_item(), and _roster_pkt_user().
void pres_probe | ( | user_t | user | ) |
Definition at line 380 of file pres.c.
References log_debug, ZONE, jid_user(), user_st::jid, xhash_iter_first(), user_st::roster, xhash_iter_get(), jid_full(), pkt_router(), pkt_create(), user_st::sm, and xhash_iter_next().