1 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
3 #ifndef foologindseathfoo
4 #define foologindseathfoo
7 This file is part of systemd.
9 Copyright 2011 Lennart Poettering
11 systemd is free software; you can redistribute it and/or modify it
12 under the terms of the GNU Lesser General Public License as published by
13 the Free Software Foundation; either version 2.1 of the License, or
14 (at your option) any later version.
16 systemd is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 Lesser General Public License for more details.
21 You should have received a copy of the GNU Lesser General Public License
22 along with systemd; If not, see <http://www.gnu.org/licenses/>.
25 typedef struct Seat Seat;
30 #include "logind-device.h"
31 #include "logind-session.h"
39 LIST_HEAD(Device, devices);
42 LIST_HEAD(Session, sessions);
47 LIST_FIELDS(Seat, gc_queue);
50 Seat *seat_new(Manager *m, const char *id);
51 void seat_free(Seat *s);
53 int seat_save(Seat *s);
54 int seat_load(Seat *s);
56 int seat_apply_acls(Seat *s, Session *old_active);
57 int seat_set_active(Seat *s, Session *session);
58 int seat_active_vt_changed(Seat *s, int vtnr);
59 int seat_read_active_vt(Seat *s);
60 int seat_preallocate_vts(Seat *s);
62 int seat_attach_session(Seat *s, Session *session);
64 bool seat_is_vtconsole(Seat *s);
65 bool seat_can_multi_session(Seat *s);
66 int seat_get_idle_hint(Seat *s, dual_timestamp *t);
68 int seat_start(Seat *s);
69 int seat_stop(Seat *s);
70 int seat_stop_sessions(Seat *s);
72 int seat_check_gc(Seat *s, bool drop_not_started);
73 void seat_add_to_gc_queue(Seat *s);
75 bool seat_name_is_valid(const char *name);
76 char *seat_bus_path(Seat *s);
78 extern const DBusObjectPathVTable bus_seat_vtable;
80 int seat_send_signal(Seat *s, bool new_seat);
81 int seat_send_changed(Seat *s, const char *properties);