]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - src/seat.h
When a seat stops, try the next seat type if one is defined
[sojka/lightdm.git] / src / seat.h
index 81289654016b204a3fad1a0fa39ea3ba4ab763ff..5bde5c2066b764bb0432fdfef04c5c40f715ecdc 100644 (file)
@@ -17,6 +17,7 @@
 #include "greeter.h"
 #include "session.h"
 #include "process.h"
+#include "logger.h"
 
 G_BEGIN_DECLS
 
@@ -37,12 +38,15 @@ typedef struct
 {
     GObjectClass parent_class;
 
+    gboolean (*get_start_local_sessions) (Seat *seat);
     void (*setup)(Seat *seat);
     gboolean (*start)(Seat *seat);
-    DisplayServer *(*create_display_server) (Seat *seat);
+    DisplayServer *(*create_display_server) (Seat *seat, const gchar *session_type);
+    gboolean (*display_server_supports_session_type) (Seat *seat, DisplayServer *display_server, const gchar *session_type);
     Greeter *(*create_greeter_session) (Seat *seat);
     Session *(*create_session) (Seat *seat);
     void (*set_active_session)(Seat *seat, Session *session);
+    void (*set_next_session)(Seat *seat, Session *session);
     Session *(*get_active_session)(Seat *seat);
     void (*run_script)(Seat *seat, DisplayServer *display_server, Process *script);
     void (*stop)(Seat *seat);
@@ -59,10 +63,14 @@ void seat_register_module (const gchar *name, GType type);
 
 Seat *seat_new (const gchar *module_name);
 
+const gchar *seat_get_type_name (Seat *seat);
+
 void seat_set_property (Seat *seat, const gchar *name, const gchar *value);
 
 const gchar *seat_get_string_property (Seat *seat, const gchar *name);
 
+gchar **seat_get_string_list_property (Seat *seat, const gchar *name);
+
 gboolean seat_get_boolean_property (Seat *seat, const gchar *name);
 
 gint seat_get_integer_property (Seat *seat, const gchar *name);
@@ -79,6 +87,8 @@ void seat_set_active_session (Seat *seat, Session *session);
 
 Session *seat_get_active_session (Seat *seat);
 
+Session *seat_get_next_session (Seat *seat);
+
 gboolean seat_get_can_switch (Seat *seat);
 
 gboolean seat_get_allow_guest (Seat *seat);