e_mod_tizen_keyrouter: add implementation for version 2 of tizen_keyrouter 47/145847/1
authorJunSeok, Kim <juns.kim@samsung.com>
Thu, 24 Aug 2017 05:29:44 +0000 (14:29 +0900)
committerJunSeok, Kim <juns.kim@samsung.com>
Thu, 24 Aug 2017 05:30:00 +0000 (14:30 +0900)
The destructor added to tizen_keyrouter so add the implementation of server side.

Change-Id: I5ed08099998fc13e1900647f8a95a255931e3fc6

src/e_mod_main_wl.c

index 990dfaf39cca72a0e1c1595e93220e5132621a5e..f6da90518f0e33262c00a103d3795fc45d7ec618 100644 (file)
@@ -794,6 +794,11 @@ e_keyrouter_add_surface_destroy_listener(struct wl_resource *surface)
    return TIZEN_KEYROUTER_ERROR_NONE;
 }
 
+static void
+_e_keyrouter_cb_destroy(struct wl_client *client, struct wl_resource *resource)
+{
+   wl_resource_destroy(resource);
+}
 
 static const struct tizen_keyrouter_interface _e_keyrouter_implementation = {
    _e_keyrouter_cb_keygrab_set,
@@ -804,12 +809,13 @@ static const struct tizen_keyrouter_interface _e_keyrouter_implementation = {
    _e_keyrouter_cb_keygrab_get_list,
    _e_keyrouter_cb_set_register_none_key,
    _e_keyrouter_cb_get_keyregister_status,
-   _e_keyrouter_cb_set_input_config
+   _e_keyrouter_cb_set_input_config,
+   _e_keyrouter_cb_destroy,
 };
 
 /* tizen_keyrouter global object destroy function */
 static void
-_e_keyrouter_cb_destory(struct wl_resource *resource)
+_e_keyrouter_cb_unbind(struct wl_resource *resource)
 {
    krt->resources = eina_list_remove(krt->resources, resource);
 }
@@ -821,7 +827,7 @@ _e_keyrouter_cb_bind(struct wl_client *client, void *data, uint32_t version, uin
    E_KeyrouterPtr krt_instance = data;
    struct wl_resource *resource;
 
-   resource = wl_resource_create(client, &tizen_keyrouter_interface, MIN(version, 1), id);
+   resource = wl_resource_create(client, &tizen_keyrouter_interface, MIN(version, 2), id);
 
    KLDBG("wl_resource_create(...,&tizen_keyrouter_interface,...)");
 
@@ -834,7 +840,7 @@ _e_keyrouter_cb_bind(struct wl_client *client, void *data, uint32_t version, uin
 
    krt->resources = eina_list_append(krt->resources, resource);
 
-   wl_resource_set_implementation(resource, &_e_keyrouter_implementation, krt_instance, _e_keyrouter_cb_destory);
+   wl_resource_set_implementation(resource, &_e_keyrouter_implementation, krt_instance, _e_keyrouter_cb_unbind);
 }
 
 static void
@@ -1175,7 +1181,7 @@ _e_keyrouter_init(E_Module *m)
      ecore_idle_enterer_add(_e_keyrouter_cb_idler, NULL);
    _e_keyrouter_init_handlers();
 
-   krt->global = wl_global_create(e_comp_wl->wl.disp, &tizen_keyrouter_interface, 1, krt, _e_keyrouter_cb_bind);
+   krt->global = wl_global_create(e_comp_wl->wl.disp, &tizen_keyrouter_interface, 2, krt, _e_keyrouter_cb_bind);
    if (!krt->global)
      {
         KLERR("Failed to create global !");