]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - src/seat-unity.c
Merge with trunk
[sojka/lightdm.git] / src / seat-unity.c
index 47f82dd8758550ab7b804ec1d892a3788122f74c..c253fe2311acbed409aebd72019ed96db52c247c 100644 (file)
@@ -17,6 +17,7 @@
 #include "seat-unity.h"
 #include "configuration.h"
 #include "x-server-local.h"
+#include "mir-server.h"
 #include "vt.h"
 #include "plymouth.h"
 
@@ -391,7 +392,7 @@ x_server_stopped_cb (XServerLocal *x_server, Seat *seat)
 }
 
 static DisplayServer *
-seat_unity_create_display_server (Seat *seat)
+create_x_server (Seat *seat)
 {
     XServerLocal *x_server;
     const gchar *command = NULL, *layout = NULL, *config_file = NULL, *xdmcp_manager = NULL, *key_name = NULL;
@@ -484,6 +485,20 @@ seat_unity_create_display_server (Seat *seat)
     return DISPLAY_SERVER (x_server);
 }
 
+static DisplayServer *
+seat_unity_create_display_server (Seat *seat, const gchar *session_type)
+{  
+    if (strcmp (session_type, "x") == 0)
+        return create_x_server (seat);
+    else if (strcmp (session_type, "mir") == 0)
+        return DISPLAY_SERVER (mir_server_new ());
+    else
+    {
+        g_warning ("Can't create unsupported display server '%s'", session_type);
+        return NULL;
+    }
+}
+
 static Greeter *
 seat_unity_create_greeter_session (Seat *seat)
 {