fix e_client sructure for running wayland client applications inside X.
authorChris Michael <cp.michael@samsung.com>
Thu, 15 May 2014 09:41:09 +0000 (10:41 +0100)
committerChris Michael <cp.michael@samsung.com>
Tue, 26 Aug 2014 14:10:35 +0000 (10:10 -0400)
update compositor structure for ability to run X and Wayland Clients.
update wayland compositor data & input file(s) for data structure rename.

NB: Both the X compositor and the Wayland compositor have different
"client data" to store, so e_client structure needs different fields

Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/bin/e_client.h
src/bin/e_comp.h
src/bin/e_comp_wl.h
src/bin/e_comp_wl_data.c
src/bin/e_comp_wl_data.h
src/bin/e_comp_wl_input.c
src/bin/e_comp_wl_input.h

index f25aa30..41b4050 100644 (file)
@@ -257,7 +257,8 @@ struct E_Client
 
    E_Direction               shade_dir;
 
-   E_Comp_Client_Data       *comp_data; //private for the compositor engine (X, Wayland) ONLY
+   E_Comp_Wl_Client_Data    *wl_comp_data;
+   E_Comp_X_Client_Data     *x_comp_data; //private for the compositor engine (X, Wayland) ONLY
 
    Evas_Object *input_object; //for running wayland clients in X
 
index 48048fa..5b0ca4d 100644 (file)
@@ -1,7 +1,9 @@
 #ifdef E_TYPEDEFS
-typedef struct _E_Comp      E_Comp;
-typedef struct _E_Comp_Data      E_Comp_Data;
-typedef struct _E_Comp_Client_Data E_Comp_Client_Data;
+typedef struct _E_Comp E_Comp;
+typedef struct _E_Comp_X_Data E_Comp_X_Data;
+typedef struct _E_Comp_Wl_Data E_Comp_Wl_Data;
+typedef struct _E_Comp_X_Client_Data E_Comp_X_Client_Data;
+typedef struct _E_Comp_Wl_Client_Data E_Comp_Wl_Client_Data;
 typedef struct _E_Comp_Demo_Style_Item E_Comp_Demo_Style_Item;
 
 #define E_COMP_TYPE (int) 0xE0b01003
@@ -56,7 +58,9 @@ struct _E_Comp
    Eina_List *clients;
    unsigned int new_clients;
 
-   E_Comp_Data *comp_data;
+   E_Comp_X_Data *x_comp_data;
+   E_Comp_Wl_Data *wl_comp_data;
+
    E_Pixmap_Type comp_type; //for determining X/Wayland/
 
    unsigned int num;
index 1ed13d6..bc6baf4 100644 (file)
@@ -23,7 +23,7 @@
 #   define BTN_BACK 0x116
 #  endif
 
-struct _E_Comp_Data
+struct _E_Comp_Wl_Data
 {
    struct 
      {
@@ -120,7 +120,7 @@ struct _E_Comp_Data
    Eina_Bool restack : 1;
 };
 
-struct _E_Comp_Client_Data
+struct _E_Comp_Wl_Client_Data
 {
    Eina_Rectangle *input;
    Eina_Rectangle *opaque;
index e6a57a3..ea5e748 100644 (file)
@@ -29,7 +29,7 @@ _e_comp_wl_data_manager_cb_source_create(struct wl_client *client, struct wl_res
 static void 
 _e_comp_wl_data_manager_cb_device_get(struct wl_client *client EINA_UNUSED, struct wl_resource *manager_resource, uint32_t id, struct wl_resource *seat_resource)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
    struct wl_resource *res;
 
    DBG("Comp_Wl_Data: Get Data Device");
@@ -58,7 +58,7 @@ static const struct wl_data_device_manager_interface _e_manager_interface =
 /* static void  */
 /* _e_comp_wl_data_cb_unbind_manager(struct wl_resource *resource) */
 /* { */
-/*    E_Comp_Data *cdata; */
+/*    E_Comp_Wl_Data *cdata; */
 
 /*    DBG("Comp_Wl_Data: Unbind Manager"); */
 
@@ -70,7 +70,7 @@ static const struct wl_data_device_manager_interface _e_manager_interface =
 static void 
 _e_comp_wl_data_cb_bind_manager(struct wl_client *client, void *data, uint32_t version EINA_UNUSED, uint32_t id)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
    struct wl_resource *res;
 
    if (!(cdata = data)) return;
@@ -90,7 +90,7 @@ _e_comp_wl_data_cb_bind_manager(struct wl_client *client, void *data, uint32_t v
 }
 
 EINTERN Eina_Bool 
-e_comp_wl_data_manager_init(E_Comp_Data *cdata)
+e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata)
 {
    /* check for valid compositor data */
    if (!cdata) return EINA_FALSE;
@@ -109,8 +109,8 @@ e_comp_wl_data_manager_init(E_Comp_Data *cdata)
 }
 
 EINTERN void 
-e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata)
+e_comp_wl_data_manager_shutdown(E_Comp_Wl_Data *cdata)
 {
    /* destroy the global manager resource */
-   if (cdata->mgr.global) wl_global_destroy(cdata->mgr.global);
+   /* if (cdata->mgr.global) wl_global_destroy(cdata->mgr.global); */
 }
index 61bacfb..70c445f 100644 (file)
@@ -3,8 +3,8 @@
 # ifndef E_COMP_WL_DATA_H
 #  define E_COMP_WL_DATA_H
 
-EINTERN Eina_Bool e_comp_wl_data_manager_init(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_data_manager_shutdown(E_Comp_Data *cdata);
+EINTERN Eina_Bool e_comp_wl_data_manager_init(E_Comp_Wl_Data *cdata);
+EINTERN void e_comp_wl_data_manager_shutdown(E_Comp_Wl_Data *cdata);
 
 # endif
 #endif
index b09ceaf..f5d1bdf 100644 (file)
@@ -4,7 +4,7 @@
 #include <sys/mman.h>
 
 static void 
-_e_comp_wl_input_update_seat_caps(E_Comp_Data *cdata)
+_e_comp_wl_input_update_seat_caps(E_Comp_Wl_Data *cdata)
 {
    Eina_List *l;
    struct wl_resource *res;
@@ -32,7 +32,7 @@ _e_comp_wl_input_cb_resource_destroy(struct wl_client *client EINA_UNUSED, struc
 static void 
 _e_comp_wl_input_pointer_cb_cursor_set(struct wl_client *client, struct wl_resource *resource, uint32_t serial, struct wl_resource *surface_resource, int32_t x, int32_t y)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
 
    /* get compositor data */
    if (!(cdata = wl_resource_get_user_data(resource))) return;
@@ -52,7 +52,7 @@ static const struct wl_keyboard_interface _e_keyboard_interface =
 static void 
 _e_comp_wl_input_cb_pointer_unbind(struct wl_resource *resource)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
 
    /* get compositor data */
    if (!(cdata = wl_resource_get_user_data(resource))) return;
@@ -63,7 +63,7 @@ _e_comp_wl_input_cb_pointer_unbind(struct wl_resource *resource)
 static void 
 _e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *resource, uint32_t id)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
    struct wl_resource *res;
 
    /* get compositor data */
@@ -87,7 +87,7 @@ _e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *re
 static void 
 _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
 
    /* get compositor data */
    if (!(cdata = wl_resource_get_user_data(resource))) return;
@@ -98,7 +98,7 @@ _e_comp_wl_input_cb_keyboard_unbind(struct wl_resource *resource)
 static void 
 _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, struct wl_resource *resource, uint32_t id)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
    struct wl_resource *res;
    /* uint32_t serial; */
 
@@ -134,7 +134,7 @@ _e_comp_wl_input_cb_keyboard_get(struct wl_client *client, struct wl_resource *r
 static void 
 _e_comp_wl_input_cb_touch_get(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t id EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
 
    /* DBG("Input Touch Get"); */
 
@@ -154,7 +154,7 @@ static const struct wl_seat_interface _e_seat_interface =
 static void 
 _e_comp_wl_input_cb_unbind_seat(struct wl_resource *resource)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
 
    if (!(cdata = wl_resource_get_user_data(resource))) return;
 
@@ -164,7 +164,7 @@ _e_comp_wl_input_cb_unbind_seat(struct wl_resource *resource)
 static void 
 _e_comp_wl_input_cb_bind_seat(struct wl_client *client, void *data, uint32_t version, uint32_t id)
 {
-   E_Comp_Data *cdata;
+   E_Comp_Wl_Data *cdata;
    struct wl_resource *res;
 
    if (!(cdata = data)) return;
@@ -226,7 +226,7 @@ _e_comp_wl_input_keymap_fd_get(off_t size)
 }
 
 static void 
-_e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct xkb_keymap *keymap)
+_e_comp_wl_input_keymap_update(E_Comp_Wl_Data *cdata, struct xkb_keymap *keymap)
 {
    char *tmp;
    xkb_mod_mask_t latched, locked;
@@ -311,7 +311,7 @@ _e_comp_wl_input_keymap_update(E_Comp_Data *cdata, struct xkb_keymap *keymap)
 }
 
 EINTERN Eina_Bool 
-e_comp_wl_input_init(E_Comp_Data *cdata)
+e_comp_wl_input_init(E_Comp_Wl_Data *cdata)
 {
    /* check for valid compositor data */
    if (!cdata) return EINA_FALSE;
@@ -335,7 +335,7 @@ e_comp_wl_input_init(E_Comp_Data *cdata)
 }
 
 EINTERN void 
-e_comp_wl_input_shutdown(E_Comp_Data *cdata)
+e_comp_wl_input_shutdown(E_Comp_Wl_Data *cdata)
 {
    /* Eina_List *l; */
    struct wl_resource *res;
@@ -356,7 +356,7 @@ e_comp_wl_input_shutdown(E_Comp_Data *cdata)
    /* TODO: destroy cdata->kbd.keys array */
 
    /* destroy the global seat resource */
-   if (cdata->seat.global) wl_global_destroy(cdata->seat.global);
+   /* if (cdata->seat.global) wl_global_destroy(cdata->seat.global); */
    cdata->seat.global = NULL;
 }
 
@@ -375,7 +375,7 @@ e_comp_wl_input_keyboard_check(struct wl_resource *res)
 }
 
 EINTERN void 
-e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata)
+e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata)
 {
    xkb_mod_mask_t depressed, latched, locked;
    xkb_layout_index_t group;
@@ -411,7 +411,7 @@ e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata)
 }
 
 EINTERN void 
-e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina_Bool pressed)
+e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, Eina_Bool pressed)
 {
    enum xkb_key_direction dir;
 
@@ -426,7 +426,7 @@ e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina
 }
 
 EAPI void 
-e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
+e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
 {
    /* check for valid compositor data */
    if (!cdata) return;
@@ -436,7 +436,7 @@ e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
 }
 
 EAPI void 
-e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
+e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled)
 {
    /* check for valid compositor data */
    if (!cdata) return;
@@ -446,7 +446,7 @@ e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled)
 }
 
 EAPI void 
-e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char *model, const char *layout)
+e_comp_wl_input_keymap_set(E_Comp_Wl_Data *cdata, const char *rules, const char *model, const char *layout)
 {
    struct xkb_keymap *keymap;
    struct xkb_rule_names names;
index 9c0000c..522b245 100644 (file)
@@ -3,18 +3,18 @@
 # ifndef E_COMP_WL_INPUT_H
 #  define E_COMP_WL_INPUT_H
 
-EINTERN Eina_Bool e_comp_wl_input_init(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_shutdown(E_Comp_Data *cdata);
+EINTERN Eina_Bool e_comp_wl_input_init(E_Comp_Wl_Data *cdata);
+EINTERN void e_comp_wl_input_shutdown(E_Comp_Wl_Data *cdata);
 EINTERN Eina_Bool e_comp_wl_input_pointer_check(struct wl_resource *res);
 EINTERN Eina_Bool e_comp_wl_input_keyboard_check(struct wl_resource *res);
 
-EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Data *cdata);
-EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Data *cdata, uint32_t keycode, Eina_Bool pressed);
+EINTERN void e_comp_wl_input_keyboard_modifiers_update(E_Comp_Wl_Data *cdata);
+EINTERN void e_comp_wl_input_keyboard_state_update(E_Comp_Wl_Data *cdata, uint32_t keycode, Eina_Bool pressed);
 
-EAPI void e_comp_wl_input_pointer_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled);
-EAPI void e_comp_wl_input_keyboard_enabled_set(E_Comp_Data *cdata, Eina_Bool enabled);
+EAPI void e_comp_wl_input_pointer_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled);
+EAPI void e_comp_wl_input_keyboard_enabled_set(E_Comp_Wl_Data *cdata, Eina_Bool enabled);
 
-EAPI void e_comp_wl_input_keymap_set(E_Comp_Data *cdata, const char *rules, const char *model, const char *layout);
+EAPI void e_comp_wl_input_keymap_set(E_Comp_Wl_Data *cdata, const char *rules, const char *model, const char *layout);
 
 # endif
 #endif