chiark / gitweb /
deac06f7350d26924d164ed117e57c6fe1e17da1
[elogind.git] / src / login / elogind-dbus.h
1 #pragma once
2 #ifndef ELOGIND_SRC_LOGIN_ELOGIND_DBUS_H_INCLUDED
3 #define ELOGIND_SRC_LOGIN_ELOGIND_DBUS_H_INCLUDED
4
5 /***
6   This file is part of elogind.
7
8   Copyright 2017 Sven Eden
9
10   elogind is free software; you can redistribute it and/or modify it
11   under the terms of the GNU Lesser General Public License as published by
12   the Free Software Foundation; either version 2.1 of the License, or
13   (at your option) any later version.
14
15   elogind is distributed in the hope that it will be useful, but
16   WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18   Lesser General Public License for more details.
19
20   You should have received a copy of the GNU Lesser General Public License
21   along with elogind; If not, see <http://www.gnu.org/licenses/>.
22 ***/
23
24 #include "logind.h"
25
26 int execute_shutdown_or_sleep(Manager *m, InhibitWhat w,
27                               HandleAction action, sd_bus_error *error);
28 int manager_scheduled_shutdown_handler(sd_event_source *s, uint64_t usec,
29                                        void *userdata);
30 int method_halt        (sd_bus_message *message, void *userdata, sd_bus_error *error);
31 int method_hibernate   (sd_bus_message *message, void *userdata, sd_bus_error *error);
32 int method_hybrid_sleep(sd_bus_message *message, void *userdata, sd_bus_error *error);
33 int method_poweroff    (sd_bus_message *message, void *userdata, sd_bus_error *error);
34 int method_reboot      (sd_bus_message *message, void *userdata, sd_bus_error *error);
35 int method_suspend     (sd_bus_message *message, void *userdata, sd_bus_error *error);
36
37
38 /* prototypes for former static functions in logind-dbus.c */
39 int  manager_inhibit_timeout_handler(sd_event_source *s, uint64_t usec, void *userdata);
40 void reset_scheduled_shutdown(Manager *m);
41 int  send_prepare_for(Manager *m, InhibitWhat w, bool _active);
42 int  verify_shutdown_creds(Manager *m, sd_bus_message *message, InhibitWhat w,
43                            bool interactive, const char *action,
44                            const char *action_multiple_sessions,
45                            const char *action_ignore_inhibit,
46                            sd_bus_error *error);
47
48
49 #endif // ELOGIND_SRC_LOGIN_ELOGIND_DBUS_H_INCLUDED