[gdm] daemon: clean house (drop factory mode)



commit c8bffea9ec259e018aa61be9b9900e777013d87c
Author: Ray Strode <rstrode redhat com>
Date:   Fri Jul 6 14:48:37 2012 -0400

    daemon: clean house (drop factory mode)
    
    GDM has a currently unused feature called "factory mode", where
    the login screen gets allocated its own VT and any subsequent logins
    from that login screen go to their own VT.  Any time there's a user
    switch GDM just jumps back to initial VT where the login screen is
    patiently waiting.
    
    This feature has a lot of upsides, and we've had it as a TODO item to
    start using it for while now.
    
    It doesn't look it's going to happen in the near term, though, and
    factory mode has downsides as well:
    
    - a VT switch after the user hits enter at the login screen would be
      jarring and would ruin the "flicker free" boot experience we've tried
      to acheive at various points in the past. This could theoretically be
      fixed by Wayland.
    
    - it adds a bunch of untested, unused code to the codebase.
    
    This latter reason makes me want to kill it for now. It shouldn't be
    hard to resurrect later if we end up needing the feature.
    
    This commit drops that code.

 .gitignore                           |    3 -
 daemon/INTERNALS                     |   22 -
 daemon/Makefile.am                   |   91 ---
 daemon/gdm-factory-slave.c           |  940 -----------------------
 daemon/gdm-factory-slave.h           |   55 --
 daemon/gdm-factory-slave.xml         |    5 -
 daemon/gdm-local-display-factory.c   |   49 --
 daemon/gdm-local-display-factory.h   |    7 -
 daemon/gdm-local-display-factory.xml |    5 -
 daemon/gdm-product-display.c         |  269 -------
 daemon/gdm-product-display.h         |   63 --
 daemon/gdm-product-display.xml       |    8 -
 daemon/gdm-product-slave.c           | 1407 ----------------------------------
 daemon/gdm-product-slave.h           |   55 --
 daemon/gdm-product-slave.xml         |    5 -
 daemon/gdm-session-relay.h           |   64 --
 daemon/product-slave-main.c          |  270 -------
 17 files changed, 0 insertions(+), 3318 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b9b97e6..2404329 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,12 +28,9 @@ configure.lineno
 gdm.conf
 gdm.conf-custom
 gdm-display-glue.h
-gdm-factory-slave-glue.h
 gdm-local-display-factory-glue.h
 gdm-manager-glue.h
 gdm.pot
-gdm-product-display-glue.h
-gdm-product-slave-glue.h
 gdm-restart
 gdm-safe-restart
 gdm.schemas
diff --git a/daemon/INTERNALS b/daemon/INTERNALS
index 9e6ee41..13f8ba3 100644
--- a/daemon/INTERNALS
+++ b/daemon/INTERNALS
@@ -35,12 +35,6 @@ Server diplay.
 
 A subclass of GdmDisplay that represents a local display.
 
-*** GdmProductDisplay
-
-A subclass of GdmDisplay that only runs a user session.  It does not
-run a login greeter interface.  It will also be destroyed when
-the user session ends.
-
 *** GdmXdmcpDisplay
 
 A subclass of GdmDisplay that represents a remote XDMCP display.
@@ -57,15 +51,6 @@ slave communicates with the parent display using the D-Bus protocol.
 A subclass of GdmSlave that runs both a login greeter and a user
 session.
 
-*** GdmFactorySlave
-
-A subclass of GdmSlave that only runs a login greeter.
-
-*** GdmProductSlave
-
-A subclass of GdmSlave that only runs a user session.
-
-
 ** GdmServer
 
 A class that manages running a local X Server.
@@ -93,13 +78,6 @@ A class of object that implements the GdmSession interface.  It is
 used to start and directly control a GdmSessionWorker subprocess by
 creating a D-Bus server on a private connection.
 
-*** GdmSessionRelay
-
-A class of object that implements the GdmSession interface.  It is
-used to relay session controls to a remote listener.  In particular,
-it is used to relay messages between the GreeterServer in a
-GdmFactorySlave and the GdmSessionDirect in a GdmProductSlave.
-
 ** GdmSessionWorkerJob
 
 A class that manages running a GdmSessionWorker subprocess.  This will
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 9b64d88..d0d75a0 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -31,8 +31,6 @@ AM_CPPFLAGS = \
 BUILT_SOURCES =					\
 	gdm-slave-glue.h			\
 	gdm-simple-slave-glue.h			\
-	gdm-factory-slave-glue.h		\
-	gdm-product-slave-glue.h		\
 	gdm-xdmcp-chooser-slave-glue.h		\
 	gdm-session-direct-glue.h		\
 	gdm-manager-glue.h			\
@@ -42,7 +40,6 @@ BUILT_SOURCES =					\
 	gdm-static-display-glue.h		\
 	gdm-transient-display-glue.h		\
 	gdm-local-display-factory-glue.h	\
-	gdm-product-display-glue.h		\
 	$(NULL)
 
 gdm-manager-glue.h: gdm-manager.xml Makefile.am
@@ -51,10 +48,6 @@ gdm-slave-glue.h: gdm-slave.xml Makefile.am
 	dbus-binding-tool --prefix=gdm_slave --mode=glib-server --output=gdm-slave-glue.h $(srcdir)/gdm-slave.xml
 gdm-simple-slave-glue.h: gdm-simple-slave.xml Makefile.am
 	dbus-binding-tool --prefix=gdm_simple_slave --mode=glib-server --output=gdm-simple-slave-glue.h $(srcdir)/gdm-simple-slave.xml
-gdm-factory-slave-glue.h: gdm-factory-slave.xml Makefile.am
-	dbus-binding-tool --prefix=gdm_factory_slave --mode=glib-server --output=gdm-factory-slave-glue.h $(srcdir)/gdm-factory-slave.xml
-gdm-product-slave-glue.h: gdm-product-slave.xml Makefile.am
-	dbus-binding-tool --prefix=gdm_product_slave --mode=glib-server --output=gdm-product-slave-glue.h $(srcdir)/gdm-product-slave.xml
 gdm-xdmcp-chooser-slave-glue.h: gdm-xdmcp-chooser-slave.xml Makefile.am
 	dbus-binding-tool --prefix=gdm_xdmcp_chooser_slave --mode=glib-server --output=gdm-xdmcp-chooser-slave-glue.h $(srcdir)/gdm-xdmcp-chooser-slave.xml
 gdm-session-direct-glue.h: gdm-session-direct.xml Makefile.am
@@ -71,8 +64,6 @@ gdm-transient-display-glue.h: gdm-transient-display.xml Makefile.am
 	dbus-binding-tool --prefix=gdm_transient_display --mode=glib-server --output=gdm-transient-display-glue.h $(srcdir)/gdm-transient-display.xml
 gdm-local-display-factory-glue.h: gdm-local-display-factory.xml Makefile.am
 	dbus-binding-tool --prefix=gdm_local_display_factory --mode=glib-server --output=gdm-local-display-factory-glue.h $(srcdir)/gdm-local-display-factory.xml
-gdm-product-display-glue.h: gdm-product-display.xml Makefile.am
-	dbus-binding-tool --prefix=gdm_product_display --mode=glib-server --output=gdm-product-display-glue.h $(srcdir)/gdm-product-display.xml
 
 noinst_PROGRAMS = 		\
 	test-session		\
@@ -101,8 +92,6 @@ test_session_LDADD =		\
 
 libexec_PROGRAMS = 			\
 	gdm-simple-slave		\
-	gdm-factory-slave		\
-	gdm-product-slave		\
 	gdm-session-worker		\
 	$(NULL)
 
@@ -152,82 +141,6 @@ gdm_simple_slave_LDADD = 			\
 	$(SYSTEMD_LIBS) 			\
 	$(NULL)
 
-gdm_factory_slave_SOURCES = 		\
-	factory-slave-main.c 		\
-	gdm-greeter-server.c		\
-	gdm-greeter-server.h		\
-	gdm-welcome-session.c		\
-	gdm-welcome-session.h		\
-	gdm-greeter-session.c		\
-	gdm-greeter-session.h		\
-	gdm-server.c			\
-	gdm-server.h			\
-	gdm-session.c			\
-	gdm-session.h			\
-	gdm-session-direct.c		\
-	gdm-session-direct.h		\
-	gdm-session-private.h		\
-	gdm-session-record.c		\
-	gdm-session-record.h		\
-	gdm-session-relay.c		\
-	gdm-session-relay.h		\
-	gdm-session-worker-job.c	\
-	gdm-session-worker-job.h	\
-	gdm-xerrors.h			\
-	gdm-xerrors.c			\
-	gdm-slave.c			\
-	gdm-slave.h			\
-	gdm-factory-slave.c		\
-	gdm-factory-slave.h		\
-	$(NULL)
-
-gdm_factory_slave_LDFLAGS =		\
-	$(PAM_LIBS)			\
-	$(LIBXKLAVIER_LIBS)		\
-	$(NULL)
-
-gdm_factory_slave_LDADD = 			\
-	$(top_builddir)/common/libgdmcommon.la	\
-	$(XLIB_LIBS)				\
-	$(DAEMON_LIBS)				\
-	$(SYSTEMD_LIBS) 			\
-	$(NULL)
-
-gdm_product_slave_SOURCES = 		\
-	product-slave-main.c 		\
-	gdm-server.c			\
-	gdm-server.h			\
-	gdm-session.c			\
-	gdm-session.h			\
-	gdm-session-private.h		\
-	gdm-session-direct.c		\
-	gdm-session-direct.h		\
-	gdm-session-record.c		\
-	gdm-session-record.h		\
-	gdm-session-worker-job.c	\
-	gdm-session-worker-job.h	\
-	gdm-xerrors.h			\
-	gdm-xerrors.c			\
-	gdm-slave.c			\
-	gdm-slave.h			\
-	gdm-product-slave.c		\
-	gdm-product-slave.h		\
-	$(NULL)
-
-gdm_product_slave_LDFLAGS =		\
-	$(PAM_LIBS)			\
-	$(LIBXKLAVIER_LIBS)		\
-	$(NULL)
-
-gdm_product_slave_LDADD = 			\
-	$(top_builddir)/common/libgdmcommon.la	\
-	$(XLIB_LIBS)				\
-	$(DAEMON_LIBS)				\
-	$(EXTRA_DAEMON_LIBS)                    \
-	$(LIBXKLAVIER_LIBS)			\
-	$(SYSTEMD_LIBS) 			\
-	$(NULL)
-
 gdm_xdmcp_chooser_slave_SOURCES = 		\
 	xdmcp-chooser-slave-main.c 		\
 	gdm-chooser-server.c			\
@@ -313,8 +226,6 @@ gdm_binary_SOURCES = 			\
 	gdm-static-display.h		\
 	gdm-transient-display.c		\
 	gdm-transient-display.h		\
-	gdm-product-display.c		\
-	gdm-product-display.h		\
 	gdm-manager.c			\
 	gdm-manager.h			\
 	gdm-slave-proxy.c		\
@@ -380,7 +291,6 @@ EXTRA_DIST = 				\
 	gdm.in				\
 	gdm-slave.xml			\
 	gdm-simple-slave.xml		\
-	gdm-factory-slave.xml		\
 	gdm-product-slave.xml		\
 	gdm-xdmcp-chooser-slave.xml	\
 	gdm-session-direct.xml		\
@@ -391,5 +301,4 @@ EXTRA_DIST = 				\
 	gdm-static-display.xml		\
 	gdm-transient-display.xml	\
 	gdm-local-display-factory.xml	\
-	gdm-product-display.xml		\
 	$(NULL)
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index cb69a88..9d823eb 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -41,7 +41,6 @@
 #include "gdm-display-store.h"
 #include "gdm-static-display.h"
 #include "gdm-transient-display.h"
-#include "gdm-product-display.h"
 
 #define GDM_LOCAL_DISPLAY_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_LOCAL_DISPLAY_FACTORY, GdmLocalDisplayFactoryPrivate))
 
@@ -252,54 +251,6 @@ gdm_local_display_factory_create_transient_display (GdmLocalDisplayFactory *fact
         return ret;
 }
 
-gboolean
-gdm_local_display_factory_create_product_display (GdmLocalDisplayFactory *factory,
-                                                  const char             *parent_display_id,
-                                                  const char             *relay_address,
-                                                  char                  **id,
-                                                  GError                **error)
-{
-        gboolean    ret;
-        GdmDisplay *display;
-        guint32     num;
-        const char *seat_id;
-
-        g_return_val_if_fail (GDM_IS_LOCAL_DISPLAY_FACTORY (factory), FALSE);
-
-        ret = FALSE;
-
-        g_debug ("GdmLocalDisplayFactory: Creating product display parent %s address:%s",
-                 parent_display_id, relay_address);
-
-        num = take_next_display_number (factory);
-
-        g_debug ("GdmLocalDisplayFactory: got display num %u", num);
-
-        display = gdm_product_display_new (num, relay_address);
-
-        seat_id = get_seat_of_transient_display (factory);
-        g_object_set (display, "seat-id", seat_id, NULL);
-
-        store_display (factory, num, display);
-
-        if (! gdm_display_manage (display)) {
-                display = NULL;
-                goto out;
-        }
-
-        if (! gdm_display_get_id (display, id, NULL)) {
-                display = NULL;
-                goto out;
-        }
-
-        ret = TRUE;
- out:
-        /* ref either held by store or not at all */
-        g_object_unref (display);
-
-        return ret;
-}
-
 static void
 on_static_display_status_changed (GdmDisplay             *display,
                                   GParamSpec             *arg1,
diff --git a/daemon/gdm-local-display-factory.h b/daemon/gdm-local-display-factory.h
index 2abb053..3651431 100644
--- a/daemon/gdm-local-display-factory.h
+++ b/daemon/gdm-local-display-factory.h
@@ -64,13 +64,6 @@ GdmLocalDisplayFactory *   gdm_local_display_factory_new                      (G
 gboolean                   gdm_local_display_factory_create_transient_display (GdmLocalDisplayFactory *factory,
                                                                                char                  **id,
                                                                                GError                **error);
-
-gboolean                   gdm_local_display_factory_create_product_display   (GdmLocalDisplayFactory *factory,
-                                                                               const char             *parent_display_id,
-                                                                               const char             *relay_address,
-                                                                               char                  **id,
-                                                                               GError                **error);
-
 G_END_DECLS
 
 #endif /* __GDM_LOCAL_DISPLAY_FACTORY_H */
diff --git a/daemon/gdm-local-display-factory.xml b/daemon/gdm-local-display-factory.xml
index 51f5153..515d991 100644
--- a/daemon/gdm-local-display-factory.xml
+++ b/daemon/gdm-local-display-factory.xml
@@ -1,11 +1,6 @@
 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd";>
 <node name="/org/gnome/DisplayManager/LocalDisplayFactory">
   <interface name="org.gnome.DisplayManager.LocalDisplayFactory">
-    <method name="CreateProductDisplay">
-      <arg name="parent_display_id" direction="in" type="o"/>
-      <arg name="relay_address" direction="in" type="s"/>
-      <arg name="id" direction="out" type="o"/>
-    </method>
     <method name="CreateTransientDisplay">
       <arg name="id" direction="out" type="o"/>
     </method>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]