xwayland: Create the wl_client which represents the window manager

process.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2014-07-06 10:51:01 -04:00
parent ff9bd8395f
commit ab96307ce3
1 changed files with 15 additions and 7 deletions

View File

@ -8,10 +8,12 @@ typedef struct _E_XWayland_Server E_XWayland_Server;
struct _E_XWayland_Server
{
int disp;
int abs_fd, unx_fd;
int abs_fd, unx_fd, wm_fd;
char lock[256];
struct wl_display *wl_disp;
struct wl_event_loop *loop;
struct wl_client *client;
Ecore_Fd_Handler *abs_hdlr, *unx_hdlr;
Ecore_Event_Handler *sig_hdlr;
@ -214,9 +216,11 @@ fail:
break;
default:
close(socks[1]);
/* TODO: client_create */
exs->client = wl_client_create(exs->disp, socks[0]);
close(wms[1]);
/* TODO */
exs->wm_fd = wms[0];
/* TODO: remove event sources */
break;
case -1:
@ -230,15 +234,16 @@ fail:
static Eina_Bool
_cb_signal_event(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED)
{
/* E_XWayland_Server *exs; */
/* NB: SIGUSR1 comes from XWayland Server when it has finished
* initialized. */
/* if (!(exs = data)) return ECORE_CALLBACK_RENEW; */
/* TODO: create "window manager" process */
/* TODO: NB:
*
* Weston creates a smaller window manager process here.
* We Maybe able to just do e_comp_x_init, but will have to test that */
return ECORE_CALLBACK_RENEW;
}
@ -261,6 +266,9 @@ e_modapi_init(E_Module *m)
if (!(exs = calloc(1, sizeof(E_XWayland_Server))))
return NULL;
/* record wayland display */
exs->wl_disp = comp->wl_comp_data->wl.disp;
/* default display to zero */
exs->disp = 0;