static int method_poweroff(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "poweroff");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_POWEROFF_TARGET,
static int method_reboot(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "reboot");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_REBOOT_TARGET,
static int method_halt(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "halt");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_HALT_TARGET,
static int method_suspend(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "suspend");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_SUSPEND_TARGET,
static int method_hibernate(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "hibernate");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_HIBERNATE_TARGET,
static int method_hybrid_sleep(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "hybrid-sleep");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_HYBRID_SLEEP_TARGET,
static int method_suspend_then_hibernate(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;
+ (void)free_and_strdup(&m->scheduled_shutdown_type, "sleep");
+
return method_do_shutdown_or_sleep(
m, message,
SPECIAL_SUSPEND_THEN_HIBERNATE_TARGET,