#include "e_keyrouter_intern.h"
+#include "e_input_thread_client_intern.h"
+#include "e_input_backend_intern.h"
#include <tizen-extension-server-protocol.h>
}
}
-void
-e_keyrouter_remove_client_from_list(struct wl_resource *surface, struct wl_client *wc)
+static void
+_e_keyrouter_remove_client_from_list(void *data)
{
int i = 0;
Eina_List *l = NULL, *l_next = NULL;
E_Keyrouter_Key_List_NodePtr key_node_data = NULL;
+ struct wl_resource *surface;
+ struct wl_client *wc;
+ E_Input_Thread_Request_Keygrab_Data *keygrab_data = data;
+ EINA_SAFETY_ON_NULL_RETURN(keygrab_data);
+
+ surface = keygrab_data->surface;
+ wc = keygrab_data->client;
+
+ INF("[%s] surface(%p), client(%p)\n", __func__, surface, wc);
EINA_SAFETY_ON_TRUE_RETURN(((!surface) && (!wc)));
}
}
+void
+e_keyrouter_remove_client_from_list(struct wl_resource *surface, struct wl_client *wc)
+{
+ E_Input_Thread_Request_Keygrab_Data keygrab_data;
+ memset(&keygrab_data, 0, sizeof(E_Input_Thread_Request_Keygrab_Data));
+
+ keygrab_data.surface = surface;
+ keygrab_data.client = wc;
+
+ INF("[%s] surface(%p), client(%p)\n", __func__, surface, wc);
+ e_input_backend_thread_safe_call(_e_keyrouter_remove_client_from_list, &keygrab_data, sizeof(E_Input_Thread_Request_Keygrab_Data));
+}
+
int
e_keyrouter_find_key_in_list(struct wl_resource *surface, struct wl_client *wc, uint32_t key)
{