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=fc480594295e365c2efdb185b77d75aca15daae9;hb=88e3dc903bd543a74b8699c1575b0da9eeab24a2;hpb=14c3baca3eb8b32fc266e46127851585bee5aff2 diff --git a/src/logind-user.h b/src/logind-user.h index fc4805942..8a8d5ede4 100644 --- a/src/logind-user.h +++ b/src/logind-user.h @@ -55,6 +55,7 @@ struct User { dual_timestamp timestamp; bool in_gc_queue:1; + bool started:1; LIST_HEAD(Session, sessions); LIST_FIELDS(User, gc_queue); @@ -62,14 +63,22 @@ struct User { 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); +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); 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);