]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - src/seat-xremote.c
Merge in X module renaming changes
[sojka/lightdm.git] / src / seat-xremote.c
index dcc356822bf985585cca2ce39d5ea95fb75125e5..0e60717fa7686cc61e4f5f08632bbe3ea80d618b 100644 (file)
@@ -14,8 +14,6 @@
 #include "seat-xremote.h"
 #include "configuration.h"
 #include "x-server-remote.h"
-#include "x-greeter.h"
-#include "x-session.h"
 
 G_DEFINE_TYPE (SeatXRemote, seat_xremote, SEAT_TYPE);
 
@@ -27,12 +25,18 @@ seat_xremote_setup (Seat *seat)
 }
 
 static DisplayServer *
-seat_xremote_create_display_server (Seat *seat)
+seat_xremote_create_display_server (Seat *seat, const gchar *session_type)
 {
     XServerRemote *x_server;
     const gchar *hostname;
     gint number;
 
+    if (strcmp (session_type, "x") != 0)
+    {
+        g_warning ("X remote seat only supports X display servers, not '%s'", session_type);
+        return NULL;
+    }
+
     hostname = seat_get_string_property (seat, "xserver-hostname");
     if (!hostname)
         hostname = "localhost";
@@ -48,18 +52,23 @@ seat_xremote_create_display_server (Seat *seat)
 static Greeter *
 seat_xremote_create_greeter_session (Seat *seat)
 {
-    XGreeter *greeter_session;
+    Greeter *greeter_session;
 
-    greeter_session = x_greeter_new ();
+    greeter_session = SEAT_CLASS (seat_xremote_parent_class)->create_greeter_session (seat);
     session_set_env (SESSION (greeter_session), "XDG_SEAT", "seat0");
 
-    return GREETER (greeter_session);
+    return greeter_session;
 }
 
 static Session *
 seat_xremote_create_session (Seat *seat)
 {
-    return SESSION (x_session_new ());
+    Session *session;
+
+    session = SEAT_CLASS (seat_xremote_parent_class)->create_session (seat);
+    session_set_env (SESSION (session), "XDG_SEAT", "seat0");
+
+    return session;
 }
 
 static void