X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogind-user.h;h=8a8d5ede4098ebd9f2aa14bf3999faff3b016061;hp=04392e01db0e82349d5ec5557fb291987b606d6f;hb=88e3dc903bd543a74b8699c1575b0da9eeab24a2;hpb=90821c935e5f4258dc21fc515cf721beb0914a85 diff --git a/src/logind-user.h b/src/logind-user.h index 04392e01d..8a8d5ede4 100644 --- a/src/logind-user.h +++ b/src/logind-user.h @@ -54,18 +54,31 @@ struct User { dual_timestamp timestamp; + bool in_gc_queue:1; + bool started:1; + LIST_HEAD(Session, sessions); + LIST_FIELDS(User, gc_queue); }; User* user_new(Manager *m, uid_t uid, gid_t gid, const char *name); void user_free(User *u); +int user_check_gc(User *u, bool drop_not_started); +void user_add_to_gc_queue(User *u); int user_start(User *u); int user_stop(User *u); -int user_check_gc(User *u); UserState user_get_state(User *u); +int user_get_idle_hint(User *u, dual_timestamp *t); int user_save(User *u); int user_load(User *u); +char *user_bus_path(User *s); + +extern const DBusObjectPathVTable bus_user_vtable; + +int user_send_signal(User *u, bool new_user); +int user_send_changed(User *u, const char *properties); + const char* user_state_to_string(UserState s); UserState user_state_from_string(const char *s);