jabberd2
2.2.16
|
roster publishing More...
#include "sm.h"
Go to the source code of this file.
roster publishing
Definition in file mod_roster_publish.c.
typedef struct _roster_publish_active_cache_st* _roster_publish_active_cache_t |
Definition at line 29 of file mod_roster_publish.c.
typedef struct _roster_publish_group_cache_st* _roster_publish_group_cache_t |
Definition at line 35 of file mod_roster_publish.c.
typedef struct _roster_publish_st * roster_publish_t |
static void _roster_publish_free_active_cache_walker | ( | const char * | key, |
int | keylen, | ||
void * | val, | ||
void * | arg | ||
) | [static] |
Definition at line 60 of file mod_roster_publish.c.
References _roster_publish_active_cache_st::jid_user.
Referenced by _roster_publish_free().
static void _roster_publish_free_group_cache_walker | ( | const char * | key, |
int | keylen, | ||
void * | val, | ||
void * | arg | ||
) | [static] |
Definition at line 66 of file mod_roster_publish.c.
References _roster_publish_group_cache_st::groupid, and _roster_publish_group_cache_st::groupname.
Referenced by _roster_publish_free().
static char* _roster_publish_get_group_name | ( | sm_t | sm, |
roster_publish_t | rp, | ||
char * | groupid | ||
) | [static] |
Definition at line 78 of file mod_roster_publish.c.
References _roster_publish_st::group_cache_ttl, _roster_publish_st::group_cache, xhash_get(), _roster_publish_group_cache_st::time, log_debug, ZONE, xhash_zap(), _roster_publish_group_cache_st::groupname, xhash_new(), sm_st::st, _roster_publish_group_cache_st::groupid, and xhash_put().
Referenced by _roster_publish_user_load().
static void _roster_publish_free_walker | ( | xht | roster, |
const char * | key, | ||
void * | val, | ||
void * | arg | ||
) | [static] |
Definition at line 139 of file mod_roster_publish.c.
References jid_free(), item_st::jid, item_st::name, item_st::ngroups, and item_st::groups.
Referenced by _roster_publish_user_load().
Definition at line 156 of file mod_roster_publish.c.
References log_debug, ZONE, jid_full(), item_st::jid, jid_user(), user_st::jid, item_st::name, item_st::to, item_st::from, item_st::ask, user_st::sm, sm_st::st, item_st::ngroups, and item_st::groups.
Referenced by _roster_publish_user_load().
static int _roster_publish_user_load | ( | mod_instance_t | mi, |
user_t | user | ||
) | [static] |
publish the roster from the database
Definition at line 204 of file mod_roster_publish.c.
References mod_instance_st::mod, module_st::private, _roster_publish_st::publish, user_st::roster, log_write(), user_st::sm, sm_st::log, jid_user(), user_st::jid, log_debug, ZONE, _roster_publish_st::fetchfixed, _roster_publish_st::fetchuser, _roster_publish_st::fetchdomain, jid_st::domain, sm_st::st, _roster_publish_st::dbtable, jid_free(), jid_new(), _roster_publish_st::removedomain, _roster_publish_st::active_cache_ttl, _roster_publish_st::active_cache, xhash_get(), _roster_publish_active_cache_st::time, xhash_zap(), _roster_publish_active_cache_st::active, xhash_new(), _roster_publish_active_cache_st::jid_user, xhash_put(), _roster_publish_st::mappedgroups, _roster_publish_get_group_name(), jid_full(), _roster_publish_save_item(), _roster_publish_st::fixexist, mod_instance_st::sm, _roster_publish_free_walker(), _roster_publish_st::fixsubs, _roster_publish_st::overridenames, _roster_publish_st::forcegroups, _roster_publish_st::groupprefix, _roster_publish_st::groupprefixlen, _roster_publish_st::groupsuffix, and _roster_publish_st::groupsuffixlen.
Referenced by module_init().
static void _roster_publish_free | ( | module_t | mod | ) | [static] |
Definition at line 506 of file mod_roster_publish.c.
References module_st::private, _roster_publish_st::active_cache, xhash_walk(), _roster_publish_free_active_cache_walker(), xhash_free(), _roster_publish_st::group_cache, and _roster_publish_free_group_cache_walker().
Referenced by module_init().
DLLEXPORT int module_init | ( | mod_instance_t | mi, |
char * | arg | ||
) |
Definition at line 522 of file mod_roster_publish.c.
References mod_instance_st::mod, module_st::init, config_get_one(), module_st::mm, mm_st::sm, sm_st::config, _roster_publish_st::publish, _roster_publish_st::fetchdomain, _roster_publish_st::fetchuser, _roster_publish_st::fetchfixed, _roster_publish_st::dbtable, _roster_publish_st::removedomain, _roster_publish_st::fixsubs, j_atoi(), _roster_publish_st::overridenames, _roster_publish_st::mappedgroups, _roster_publish_st::fixexist, _roster_publish_st::active_cache_ttl, _roster_publish_st::group_cache_ttl, _roster_publish_st::forcegroups, _roster_publish_st::groupprefix, _roster_publish_st::groupprefixlen, _roster_publish_st::groupsuffix, _roster_publish_st::groupsuffixlen, module_st::private, module_st::user_load, _roster_publish_user_load(), module_st::free, and _roster_publish_free().