~robert-ancell/lightdm/private-mir-connection-merge

« back to all changes in this revision

Viewing changes to src/seat-xvnc.c

  • Committer: Robert Ancell
  • Date: 2013-07-23 02:24:45 UTC
  • mfrom: (1723 trunk)
  • mto: This revision was merged to the branch mainline in revision 1741.
  • Revision ID: robert.ancell@canonical.com-20130723022445-gpaq8vtkp4hods7r
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
 * license.
10
10
 */
11
11
 
 
12
#include <string.h>
 
13
 
12
14
#include "seat-xvnc.h"
13
15
#include "xserver-xvnc.h"
 
16
#include "xgreeter.h"
14
17
#include "xsession.h"
15
18
#include "configuration.h"
16
19
 
71
74
    return DISPLAY_SERVER (xserver);
72
75
}
73
76
 
 
77
static Greeter *
 
78
seat_xvnc_create_greeter_session (Seat *seat)
 
79
{
 
80
    return GREETER (xgreeter_new ());
 
81
}
 
82
 
74
83
static Session *
75
 
seat_xvnc_create_session (Seat *seat, Display *display)
 
84
seat_xvnc_create_session (Seat *seat)
76
85
{
77
 
    XServerXVNC *xserver;
78
 
    XSession *session;
79
 
    GInetSocketAddress *address;
80
 
    gchar *hostname;
81
 
    gchar *t;
82
 
 
83
 
    xserver = XSERVER_XVNC (display_get_display_server (display));
84
 
 
85
 
    session = xsession_new ();
86
 
    address = G_INET_SOCKET_ADDRESS (g_socket_get_remote_address (SEAT_XVNC (seat)->priv->connection, NULL));
87
 
    hostname = g_inet_address_to_string (g_inet_socket_address_get_address (address));
88
 
    session_set_remote_host_name (SESSION (session), hostname);
89
 
    g_free (hostname);
90
 
 
91
 
    return SESSION (session);
 
86
    return SESSION (xsession_new ());
92
87
}
93
88
 
94
89
static void
95
 
seat_xvnc_run_script (Seat *seat, Display *display, Process *script)
 
90
seat_xvnc_run_script (Seat *seat, DisplayServer *display_server, Process *script)
96
91
{
97
92
    XServerXVNC *xserver;
98
93
    GInetSocketAddress *address;
99
94
    gchar *hostname;
100
95
    const gchar *path;
101
96
 
102
 
    xserver = XSERVER_XVNC (display_get_display_server (display));
 
97
    xserver = XSERVER_XVNC (display_server);
103
98
 
104
99
    address = G_INET_SOCKET_ADDRESS (g_socket_get_remote_address (SEAT_XVNC (seat)->priv->connection, NULL));
105
100
    hostname = g_inet_address_to_string (g_inet_socket_address_get_address (address));
111
106
 
112
107
    g_free (hostname);
113
108
 
114
 
    SEAT_CLASS (seat_xvnc_parent_class)->run_script (seat, display, script);
 
109
    SEAT_CLASS (seat_xvnc_parent_class)->run_script (seat, display_server, script);
115
110
}
116
111
 
117
112
static void
139
134
    GObjectClass *object_class = G_OBJECT_CLASS (klass);
140
135
 
141
136
    seat_class->create_display_server = seat_xvnc_create_display_server;
 
137
    seat_class->create_greeter_session = seat_xvnc_create_greeter_session;
142
138
    seat_class->create_session = seat_xvnc_create_session;
143
139
    seat_class->run_script = seat_xvnc_run_script;
144
140
    object_class->finalize = seat_xdmcp_session_finalize;