typedef enum UserState {
USER_OFFLINE, /* Not logged in at all */
+ USER_OPENING, /* Is logging in */
USER_LINGERING, /* Lingering has been enabled by the admin for this user */
USER_ONLINE, /* User logged in */
USER_ACTIVE, /* User logged in and has a session in the fg */
char *state_file;
char *runtime_path;
+
char *service;
- char *cgroup_path;
+ char *slice;
+
+ char *service_job;
+ char *slice_job;
Session *display;
bool in_gc_queue:1;
bool started:1;
+ bool slice_created:1;
+ bool service_created:1;
LIST_HEAD(Session, sessions);
LIST_FIELDS(User, gc_queue);
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);
+const char* user_state_to_string(UserState s) _const_;
+UserState user_state_from_string(const char *s) _pure_;