diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2013-07-23 14:24:45 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2013-07-23 14:24:45 +1200 |
commit | 0f956f52f1f365c21c6357b8bc159986d2dd9b82 (patch) | |
tree | ad8c16377ced0f238a71b811108cc6907130654b /src/seat-xvnc.c | |
parent | 3e1d6047758cfc510033e775a35db8b70cf5c4fe (diff) | |
parent | e7d20496246a38ec388a6be665c1a0154dab7478 (diff) | |
download | lightdm-0f956f52f1f365c21c6357b8bc159986d2dd9b82.tar.gz |
Merge with trunk
Diffstat (limited to 'src/seat-xvnc.c')
-rw-r--r-- | src/seat-xvnc.c | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/src/seat-xvnc.c b/src/seat-xvnc.c index 5dad1360..7966e6ea 100644 --- a/src/seat-xvnc.c +++ b/src/seat-xvnc.c @@ -9,8 +9,11 @@ * license. */ +#include <string.h> + #include "seat-xvnc.h" #include "xserver-xvnc.h" +#include "xgreeter.h" #include "xsession.h" #include "configuration.h" @@ -71,35 +74,27 @@ seat_xvnc_create_display_server (Seat *seat, const gchar *session_type) return DISPLAY_SERVER (xserver); } -static Session * -seat_xvnc_create_session (Seat *seat, Display *display) +static Greeter * +seat_xvnc_create_greeter_session (Seat *seat) { - XServerXVNC *xserver; - XSession *session; - GInetSocketAddress *address; - gchar *hostname; - gchar *t; - - xserver = XSERVER_XVNC (display_get_display_server (display)); - - session = xsession_new (); - address = G_INET_SOCKET_ADDRESS (g_socket_get_remote_address (SEAT_XVNC (seat)->priv->connection, NULL)); - hostname = g_inet_address_to_string (g_inet_socket_address_get_address (address)); - session_set_remote_host_name (SESSION (session), hostname); - g_free (hostname); + return GREETER (xgreeter_new ()); +} - return SESSION (session); +static Session * +seat_xvnc_create_session (Seat *seat) +{ + return SESSION (xsession_new ()); } static void -seat_xvnc_run_script (Seat *seat, Display *display, Process *script) +seat_xvnc_run_script (Seat *seat, DisplayServer *display_server, Process *script) { XServerXVNC *xserver; GInetSocketAddress *address; gchar *hostname; const gchar *path; - xserver = XSERVER_XVNC (display_get_display_server (display)); + xserver = XSERVER_XVNC (display_server); address = G_INET_SOCKET_ADDRESS (g_socket_get_remote_address (SEAT_XVNC (seat)->priv->connection, NULL)); hostname = g_inet_address_to_string (g_inet_socket_address_get_address (address)); @@ -111,7 +106,7 @@ seat_xvnc_run_script (Seat *seat, Display *display, Process *script) g_free (hostname); - SEAT_CLASS (seat_xvnc_parent_class)->run_script (seat, display, script); + SEAT_CLASS (seat_xvnc_parent_class)->run_script (seat, display_server, script); } static void @@ -139,6 +134,7 @@ seat_xvnc_class_init (SeatXVNCClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); seat_class->create_display_server = seat_xvnc_create_display_server; + seat_class->create_greeter_session = seat_xvnc_create_greeter_session; seat_class->create_session = seat_xvnc_create_session; seat_class->run_script = seat_xvnc_run_script; object_class->finalize = seat_xdmcp_session_finalize; |