#include "e.h"
#include "e_devicemgr.h"
+E_API E_Devicemgr_Info e_devicemgr;
+
static int _e_devicemgr_intercept_hooks_delete = 0;
static int _e_devicemgr_intercept_hooks_walking = 0;
return ret;
}
+
+E_API Eina_Bool
+e_devicemgr_is_blocking_event(Ecore_Device_Class clas)
+{
+ unsigned int res = 0x0;
+ unsigned int dev_clas = 0x0;
+
+ if (!e_devicemgr.get_block_event_type)
+ return EINA_FALSE;
+
+ res = e_devicemgr.get_block_event_type();
+ if (!res) return EINA_FALSE;
+
+ switch (clas)
+ {
+ case ECORE_DEVICE_CLASS_KEYBOARD:
+ dev_clas = TIZEN_INPUT_DEVICE_MANAGER_CLAS_KEYBOARD;
+ break;
+ case ECORE_DEVICE_CLASS_MOUSE:
+ dev_clas = TIZEN_INPUT_DEVICE_MANAGER_CLAS_MOUSE;
+ break;
+ case ECORE_DEVICE_CLASS_TOUCH:
+ dev_clas = TIZEN_INPUT_DEVICE_MANAGER_CLAS_TOUCHSCREEN;
+ break;
+ default:
+ return EINA_FALSE;
+ }
+
+ if (res & dev_clas) return EINA_TRUE;
+ return EINA_FALSE;
+}
typedef Eina_Bool (*E_Devicemgr_Intercept_Hook_Cb) (void *data, int point, void *event);
typedef struct _E_Devicemgr_Intercept_Hook E_Devicemgr_Intercept_Hook;
+typedef struct _E_Devicemgr_Info E_Devicemgr_Info;
#else
#ifndef E_DEVICEMGR_H
#define E_DEVICEMGR_H
+extern E_API E_Devicemgr_Info e_devicemgr;
+
+struct _E_Devicemgr_Info
+{
+ unsigned int (*get_block_event_type)(void);
+};
+
struct _E_Devicemgr_Intercept_Hook
{
EINA_INLIST;
E_API E_Devicemgr_Intercept_Hook *e_devicemgr_intercept_hook_add(E_Devicemgr_Intercept_Hook_Point hookpoint, E_Devicemgr_Intercept_Hook_Cb func, const void *data);
E_API void e_devicemgr_intercept_hook_del(E_Devicemgr_Intercept_Hook *ch);
E_API Eina_Bool e_devicemgr_intercept_hook_call(E_Devicemgr_Intercept_Hook_Point hookpoint, void *event);
+E_API Eina_Bool e_devicemgr_is_blocking_event(Ecore_Device_Class clas);
#endif
#endif