InhibitWhat action_what;
/* If a shutdown/suspend was delayed due to a inhibitor this
- contains the unit name we are supposed to start after the
+ contains the action we are supposed to perform after the
delay is over */
- const char *action_unit;
-
- /* If a shutdown/suspend is currently executed, then this is
- * the job of it */
- char *action_job;
+ HandleAction pending_action;
usec_t action_timestamp;
sd_event_source *idle_action_event_source;
int manager_get_user_by_pid(Manager *m, pid_t pid, User **user);
int manager_get_session_by_pid(Manager *m, pid_t pid, Session **session);
-bool manager_is_docked(Manager *m);
-int manager_count_displays(Manager *m);
-bool manager_is_docked_or_multiple_displays(Manager *m);
+bool manager_is_docked_or_external_displays(Manager *m);
extern const sd_bus_vtable manager_vtable[];
-int bus_manager_shutdown_or_sleep_now_or_later(Manager *m, const char *unit_name, InhibitWhat w, sd_bus_error *error);
+int bus_manager_shutdown_or_sleep_now_or_later(Manager *m, HandleAction action, InhibitWhat w, sd_bus_error *error);
int manager_send_changed(Manager *manager, const char *property, ...) _sentinel_;
int manager_get_session_from_creds(Manager *m, sd_bus_message *message, const char *name, sd_bus_error *error, Session **ret);
int manager_get_user_from_creds(Manager *m, sd_bus_message *message, uid_t uid, sd_bus_error *error, User **ret);
int manager_get_seat_from_creds(Manager *m, sd_bus_message *message, const char *name, sd_bus_error *error, Seat **ret);
+
+
+int manager_dispatch_delayed(Manager *manager, bool timeout);
\ No newline at end of file