}
EINTERN Eina_Bool
-e_keyrouter_hardkeys_client_available(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, struct wl_client *client, uint32_t mode)
+e_keyrouter_hardkeys_list_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode,
+ uint32_t mode, Eina_List *list)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hardkeys, EINA_FALSE);
+
+ switch(mode)
+ {
+ case TIZEN_KEYROUTER_MODE_EXCLUSIVE:
+ hardkeys[keycode].excl_ptr = list;
+ break;
+ case TIZEN_KEYROUTER_MODE_OVERRIDABLE_EXCLUSIVE:
+ hardkeys[keycode].or_excl_ptr = list;
+ break;
+ case TIZEN_KEYROUTER_MODE_TOPMOST:
+ hardkeys[keycode].top_ptr = list;
+ break;
+ case TIZEN_KEYROUTER_MODE_SHARED:
+ hardkeys[keycode].shared_ptr = list;
+ break;
+ case TIZEN_KEYROUTER_MODE_PRESSED:
+ hardkeys[keycode].press_ptr = list;
+ break;
+ case TIZEN_KEYROUTER_MODE_PICTURE_OFF:
+ hardkeys[keycode].pic_off_ptr = list;
+ break;
+ default:
+ WRN("Unknown keycode(%d) and grab mode(%d)", keycode, mode);
+ return EINA_FALSE;
+ }
+
+ return EINA_TRUE;
+}
+
+EINTERN Eina_Bool
+e_keyrouter_hardkeys_keycode_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hardkeys, EINA_FALSE);
+
+ hardkeys[keycode].keycode = keycode;
+
+ return EINA_TRUE;
+}
+
+EINTERN Eina_Bool
+e_keyrouter_hardkeys_keyname_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode,
+ char *keyname)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hardkeys, EINA_FALSE);
+
+ hardkeys[keycode].keyname = keyname;
+
+ return EINA_TRUE;
+}
+
+EINTERN Eina_Bool
+e_keyrouter_hardkeys_no_privcheck_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode,
+ Eina_Bool no_privcheck)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hardkeys, EINA_FALSE);
+
+ hardkeys[keycode].no_privcheck = no_privcheck;
+
+ return EINA_TRUE;
+}
+
+EINTERN Eina_Bool
+e_keyrouter_hardkeys_repeat_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode,
+ Eina_Bool repeat)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(hardkeys, EINA_FALSE);
+
+ hardkeys[keycode].repeat = repeat;
+
+ return EINA_TRUE;
+}
+
+EINTERN Eina_Bool
+e_keyrouter_hardkeys_client_available(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode,
+ struct wl_client *client, uint32_t mode)
{
E_Keyrouter_Key_List_Node *keynode;
Eina_List *l;
EINTERN Eina_Bool e_keyrouter_hardkeys_no_privcheck_get(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode);
EINTERN Eina_Bool e_keyrouter_hardkeys_repeat_get(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode);
+EINTERN Eina_Bool e_keyrouter_hardkeys_list_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, uint32_t mode, Eina_List *list);
+EINTERN Eina_Bool e_keyrouter_hardkeys_keycode_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode);
+EINTERN Eina_Bool e_keyrouter_hardkeys_keyname_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, char *keyname);
+EINTERN Eina_Bool e_keyrouter_hardkeys_no_privcheck_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, Eina_Bool no_privcheck);
+EINTERN Eina_Bool e_keyrouter_hardkeys_repeat_set(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, Eina_Bool repeat);
+
EINTERN Eina_Bool e_keyrouter_hardkeys_client_available(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, struct wl_client *client, uint32_t mode);
EINTERN Eina_Bool e_keyrouter_hardkeys_surface_available(E_Keyrouter_Grabbed_Key *hardkeys, uint32_t keycode, struct wl_resource *surface, uint32_t mode);