chiark / gitweb /
loginctl: implement more verbs
[elogind.git] / src / logind-user.h
index 04392e01db0e82349d5ec5557fb291987b606d6f..8a8d5ede4098ebd9f2aa14bf3999faff3b016061 100644 (file)
@@ -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);