35 if(storage_get(user->
sm->
st,
"active",
jid_user(user->
jid), NULL, &os) == st_SUCCESS && os_iter_first(os)) {
36 o = os_iter_object(os);
37 os_object_get_time(os, o,
"time", &user->
active);
56 o = os_object_new(os);
57 os_object_put_time(o,
"time", &t);
67 storage_delete(mi->
sm->
st,
"active",
jid_user(jid), NULL);
73 if(mod->
init)
return 0;
data structures and prototypes for the session manager
const char * jid_user(jid_t jid)
expand and return the user
single instance of a module in a chain
int init
number of times the module intialiser has been called
static void _active_user_delete(mod_instance_t mi, jid_t jid)
static int _active_user_create(mod_instance_t mi, jid_t jid)
module_t mod
module that this is an instance of
storage_t st
storage subsystem
DLLEXPORT int module_init(mod_instance_t mi, const char *arg)
int(* user_load)(mod_instance_t mi, user_t user)
user-load handler
void(* user_delete)(mod_instance_t mi, jid_t jid)
user-delete handler
jid_t jid
user jid (user@host)
int(* user_create)(mod_instance_t mi, jid_t jid)
user-create handler
static int _active_user_load(mod_instance_t mi, user_t user)
time_t active
time that user first logged in (ever)