1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include "sd-bus.h"
5 
6 #include "bus-object.h"
7 #include "logind-session.h"
8 
9 extern const BusObjectImplementation session_object;
10 
11 char *session_bus_path(Session *s);
12 
13 int session_send_signal(Session *s, bool new_session);
14 int session_send_changed(Session *s, const char *properties, ...) _sentinel_;
15 int session_send_lock(Session *s, bool lock);
16 int session_send_lock_all(Manager *m, bool lock);
17 
18 int session_send_create_reply(Session *s, sd_bus_error *error);
19 
20 int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_error *error);
21 int bus_session_method_lock(sd_bus_message *message, void *userdata, sd_bus_error *error);
22 int bus_session_method_terminate(sd_bus_message *message, void *userdata, sd_bus_error *error);
23 int bus_session_method_kill(sd_bus_message *message, void *userdata, sd_bus_error *error);
24