#include <glib-object.h>
#include "display-server.h"
-#include "greeter.h"
+#include "greeter-session.h"
#include "session.h"
#include "process.h"
#include "logger.h"
#define SEAT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAT_TYPE, SeatClass))
#define SEAT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAT_TYPE, SeatClass))
+#define SEAT_SIGNAL_SESSION_ADDED "session-added"
+#define SEAT_SIGNAL_RUNNING_USER_SESSION "running-user-session"
+#define SEAT_SIGNAL_SESSION_REMOVED "session-removed"
+#define SEAT_SIGNAL_STOPPED "stopped"
+
typedef struct SeatPrivate SeatPrivate;
typedef struct
void (*setup)(Seat *seat);
gboolean (*start)(Seat *seat);
DisplayServer *(*create_display_server) (Seat *seat, Session *session);
- gboolean (*display_server_supports_session_type) (Seat *seat, DisplayServer *display_server, const gchar *session_type);
- Greeter *(*create_greeter_session) (Seat *seat);
+ gboolean (*display_server_is_used) (Seat *seat, DisplayServer *display_server);
+ GreeterSession *(*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);