#include "seat-xdmcp-session.h"
#include "x-server-remote.h"
-#include "x-greeter.h"
-#include "x-session.h"
struct SeatXDMCPSessionPrivate
{
}
static DisplayServer *
-seat_xdmcp_session_create_display_server (Seat *seat)
+seat_xdmcp_session_create_display_server (Seat *seat, const gchar *session_type)
{
XAuthority *authority;
gchar *host;
XServerRemote *x_server;
+ if (strcmp (session_type, "x") != 0)
+ {
+ g_warning ("XDMCP seat only supports X display servers, not '%s'", session_type);
+ return NULL;
+ }
+
authority = xdmcp_session_get_authority (SEAT_XDMCP_SESSION (seat)->priv->session);
host = g_inet_address_to_string (xdmcp_session_get_address (SEAT_XDMCP_SESSION (seat)->priv->session));
x_server = x_server_remote_new (host, xdmcp_session_get_display_number (SEAT_XDMCP_SESSION (seat)->priv->session), authority);
return DISPLAY_SERVER (x_server);
}
-static Greeter *
-seat_xdmcp_session_create_greeter_session (Seat *seat)
-{
- return GREETER (x_greeter_new ());
-}
-
-static Session *
-seat_xdmcp_session_create_session (Seat *seat)
-{
- return SESSION (x_session_new ());
-}
-
static void
seat_xdmcp_session_init (SeatXDMCPSession *seat)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
seat_class->create_display_server = seat_xdmcp_session_create_display_server;
- seat_class->create_greeter_session = seat_xdmcp_session_create_greeter_session;
- seat_class->create_session = seat_xdmcp_session_create_session;
object_class->finalize = seat_xdmcp_session_finalize;
g_type_class_add_private (klass, sizeof (SeatXDMCPSessionPrivate));