move the keyrouter_keygrab code from e_keyrouter_wl to e_keyrouter_wl.
Change-Id: If44e74aea509ae0e7d33bfe5d478db54858fcaf5
return res;
}
+static void
+_e_keyrouter_keygrab_keycancel_send_with_surface(struct wl_resource *surface, unsigned int key)
+{
+ struct wl_client *client = NULL;
+ E_Keyrouter_Key_List_NodePtr data;
+ Eina_List *press_ptr_list = NULL;
+ Eina_List *l;
+
+ client = wl_resource_get_client(surface);
+ EINA_SAFETY_ON_NULL_RETURN(client);
+
+ g_rec_mutex_lock(&krt->grab_key_mutex);
+ press_ptr_list = e_keyrouter_hardkeys_list_get(krt->HardKeys, key, TIZEN_KEYROUTER_MODE_PRESSED);
+ EINA_LIST_FOREACH(press_ptr_list, l, data)
+ {
+ if (surface != data->surface) continue;
+
+ e_keyrouter_wl_keycancel_send(client, key);
+ }
+ g_rec_mutex_unlock(&krt->grab_key_mutex);
+}
+
+
+static void
+_e_keyrouter_keygrab_keycancel_send_with_client(struct wl_client *client, unsigned int key)
+{
+ E_Keyrouter_Key_List_NodePtr data;
+ Eina_List *press_ptr_list = NULL;
+ Eina_List *l;
+
+ EINA_SAFETY_ON_NULL_RETURN(client);
+
+ g_rec_mutex_lock(&krt->grab_key_mutex);
+ press_ptr_list = e_keyrouter_hardkeys_list_get(krt->HardKeys, key, TIZEN_KEYROUTER_MODE_PRESSED);
+ EINA_LIST_FOREACH(press_ptr_list, l, data)
+ {
+ if (client != data->wc) continue;
+
+ e_keyrouter_wl_keycancel_send(client, key);
+ }
+ g_rec_mutex_unlock(&krt->grab_key_mutex);
+}
+
int
e_keyrouter_keygrab_unset(struct wl_client *client, struct wl_resource *surface, int key)
{
finish:
if (!surface)
- e_keyrouter_keycancel_send_with_client(client, key);
+ _e_keyrouter_keygrab_keycancel_send_with_client(client, key);
else
- e_keyrouter_keycancel_send_with_surface(surface, key);
+ _e_keyrouter_keygrab_keycancel_send_with_surface(surface, key);
return TIZEN_KEYROUTER_ERROR_NONE;
}
}
EINTERN void
-e_keyrouter_keycancel_send_with_surface(struct wl_resource *surface, unsigned int key)
+e_keyrouter_wl_keycancel_send(struct wl_client *client, unsigned int key)
{
- Eina_List *l;
struct wl_resource *resource = NULL;
- struct wl_client *wc = NULL;
- E_Keyrouter_Key_List_NodePtr data;
- Eina_List *press_ptr_list = NULL;
-
- if (surface)
- wc = wl_resource_get_client(surface);
-
- EINA_SAFETY_ON_NULL_RETURN(wc);
-
- g_rec_mutex_lock(&krt->grab_key_mutex);
- press_ptr_list = e_keyrouter_hardkeys_list_get(krt->HardKeys, key, TIZEN_KEYROUTER_MODE_PRESSED);
- EINA_LIST_FOREACH(press_ptr_list, l, data)
- {
- if (surface == data->surface)
- {
- g_rec_mutex_lock(&g_tizen_keyrouter->resource_list_mutex);
- EINA_LIST_FOREACH(g_tizen_keyrouter->resources, l, resource)
- {
- if (wl_resource_get_client(resource) != wc) continue;
-
- tizen_keyrouter_send_key_cancel(resource, key-8);
- }
- g_rec_mutex_unlock(&g_tizen_keyrouter->resource_list_mutex);
- }
- }
- g_rec_mutex_unlock(&krt->grab_key_mutex);
-}
-
-
-EINTERN void
-e_keyrouter_keycancel_send_with_client(struct wl_client *client, unsigned int key)
-{
Eina_List *l;
- struct wl_resource *resource = NULL;
- E_Keyrouter_Key_List_NodePtr data;
- Eina_List *press_ptr_list = NULL;
-
- EINA_SAFETY_ON_NULL_RETURN(client);
- g_rec_mutex_lock(&krt->grab_key_mutex);
- press_ptr_list = e_keyrouter_hardkeys_list_get(krt->HardKeys, key, TIZEN_KEYROUTER_MODE_PRESSED);
- EINA_LIST_FOREACH(press_ptr_list, l, data)
- {
- if (client == data->wc)
- {
- g_rec_mutex_lock(&g_tizen_keyrouter->resource_list_mutex);
- EINA_LIST_FOREACH(g_tizen_keyrouter->resources, l, resource)
- {
- if (wl_resource_get_client(resource) != client) continue;
+ g_rec_mutex_lock(&g_tizen_keyrouter->resource_list_mutex);
+ EINA_LIST_FOREACH(g_tizen_keyrouter->resources, l, resource)
+ {
+ if (wl_resource_get_client(resource) != client) continue;
- tizen_keyrouter_send_key_cancel(resource, key-8);
- }
- g_rec_mutex_unlock(&g_tizen_keyrouter->resource_list_mutex);
- }
- }
- g_rec_mutex_unlock(&krt->grab_key_mutex);
+ tizen_keyrouter_send_key_cancel(resource, key-8);
+ }
+ g_rec_mutex_unlock(&g_tizen_keyrouter->resource_list_mutex);
}
static int
EINTERN int e_keyrouter_wl_add_client_destroy_listener(struct wl_client *client);
EINTERN int e_keyrouter_wl_add_surface_destroy_listener(struct wl_resource *surface);
EINTERN Eina_Bool e_keyrouter_wl_key_send(Ecore_Event_Key *ev, E_Device *dev, Eina_Bool pressed, struct wl_client *client, struct wl_resource *surface, Eina_Bool focused);
-EINTERN void e_keyrouter_keycancel_send_with_surface(struct wl_resource *surface, unsigned int key);
-EINTERN void e_keyrouter_keycancel_send_with_client(struct wl_client *client, unsigned int key);
+EINTERN void e_keyrouter_wl_keycancel_send(struct wl_client *client, unsigned int key);
EINTERN void e_keyrouter_wl_event_surface_send(struct wl_resource *surface, int key, int mode);
EINTERN Eina_Bool e_keyrouter_wl_util_do_privilege_check(struct wl_client *client, uint32_t mode, uint32_t keycode);