summaryrefslogtreecommitdiff
path: root/src/login/elogind-dbus.c
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2017-12-08 17:52:41 +0100
committerSven Eden <yamakuzure@gmx.net>2017-12-08 17:54:29 +0100
commit7426d18c6001ea1b90267e14d6f85ce24994bebb (patch)
tree0d3a165d02f9eabbf95bd114212f862024f2ef66 /src/login/elogind-dbus.c
parentb2ba58acabda1830f0e58ba0d623861a126c43bf (diff)
Fix various build failures with the latest systemd updates.
Diffstat (limited to 'src/login/elogind-dbus.c')
-rw-r--r--src/login/elogind-dbus.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/login/elogind-dbus.c b/src/login/elogind-dbus.c
index a9b39c238..ede2bfd35 100644
--- a/src/login/elogind-dbus.c
+++ b/src/login/elogind-dbus.c
@@ -380,6 +380,22 @@ int method_reboot(sd_bus_message *message, void *userdata, sd_bus_error *error)
error);
}
+int method_halt(sd_bus_message *message, void *userdata, sd_bus_error *error) {
+ Manager *m = userdata;
+
+ log_debug_elogind("%s called", __FUNCTION__);
+
+ return method_do_shutdown_or_sleep(
+ m, message,
+ HANDLE_HALT,
+ INHIBIT_SHUTDOWN,
+ "org.freedesktop.login1.halt",
+ "org.freedesktop.login1.halt-multiple-sessions",
+ "org.freedesktop.login1.halt-ignore-inhibit",
+ NULL,
+ error);
+}
+
int method_suspend(sd_bus_message *message, void *userdata, sd_bus_error *error) {
Manager *m = userdata;