e_devicemgr: make an internal header
[platform/upstream/enlightenment.git] / src / bin / e_devicemgr_intern.h
1 #ifndef E_DEVICEMGR_INTERN_H
2 #define E_DEVICEMGR_INTERN_H
3
4 typedef Eina_Bool (*E_Devicemgr_Intercept_Hook_Cb) (void *data, int point, void *event);
5 typedef struct _E_Devicemgr_Intercept_Hook E_Devicemgr_Intercept_Hook;
6
7 typedef enum _E_Devicemgr_Intercept_Hook_Point
8 {
9    E_DEVICEMGR_INTERCEPT_HOOK_DETENT,
10    E_DEVICEMGR_INTERCEPT_HOOK_LAST
11 } E_Devicemgr_Intercept_Hook_Point;
12
13 struct _E_Devicemgr_Intercept_Hook
14 {
15    EINA_INLIST;
16    E_Devicemgr_Intercept_Hook_Point hookpoint;
17    E_Devicemgr_Intercept_Hook_Cb func;
18    void *data;
19    unsigned char delete_me : 1;
20 };
21
22 EINTERN int e_devicemgr_init(void);
23 EINTERN int e_devicemgr_shutdown(void);
24
25 EINTERN E_Devicemgr_Intercept_Hook *e_devicemgr_intercept_hook_add(E_Devicemgr_Intercept_Hook_Point hookpoint, E_Devicemgr_Intercept_Hook_Cb func, const void *data);
26 EINTERN void                        e_devicemgr_intercept_hook_del(E_Devicemgr_Intercept_Hook *ch);
27 EINTERN Eina_Bool                   e_devicemgr_intercept_hook_call(E_Devicemgr_Intercept_Hook_Point hookpoint, void *event);
28
29 EINTERN int e_devicemgr_inputgen_key_event_add(const char *key, Eina_Bool pressed, char *identifier);
30
31 EINTERN Eina_Bool e_devicemgr_detent_is_detent(const char *name);
32
33 EINTERN Eina_Bool e_devicemgr_block_internal_add(Ecore_Device_Class clas, Eina_Bool all_clas, uint32_t duration, E_Devicemgr_Block_Expire_Cb cb_func, void *cb_data);
34 EINTERN Eina_Bool e_devicemgr_block_internal_remove(E_Devicemgr_Block_Expire_Cb cb_func, void *cb_data);
35
36 EINTERN Eina_Bool e_devicemgr_keyboard_grab_subtype_is_grabbed(Ecore_Device_Subclass subclas);
37
38 #endif