1 #ifdef E_TYPEDEFS
2 
3 typedef struct _E_Sys_Con_Action E_Sys_Con_Action;
4 
5 typedef enum _E_Sys_Action
6 {
7    E_SYS_NONE,
8    E_SYS_EXIT,
9    E_SYS_RESTART,
10    E_SYS_EXIT_NOW,
11    E_SYS_LOGOUT,
12    E_SYS_HALT,
13    E_SYS_HALT_NOW,
14    E_SYS_REBOOT,
15    E_SYS_SUSPEND,
16    E_SYS_HIBERNATE
17 } E_Sys_Action;
18 
19 struct _E_Sys_Con_Action
20 {
21    const char *label;
22    const char *icon_group;
23    const char *button_name;
24    void (*func) (void *data);
25    const void *data;
26    Eina_Bool disabled E_BITFIELD;
27 };
28 
29 #else
30 #ifndef E_SYS_H
31 #define E_SYS_H
32 
33 E_API extern int E_EVENT_SYS_SUSPEND;
34 E_API extern int E_EVENT_SYS_HIBERNATE;
35 E_API extern int E_EVENT_SYS_RESUME;
36 
37 EINTERN int e_sys_init(void);
38 EINTERN int e_sys_shutdown(void);
39 E_API int e_sys_action_possible_get(E_Sys_Action a);
40 E_API int e_sys_action_do(E_Sys_Action a, char *param);
41 E_API int e_sys_action_raw_do(E_Sys_Action a, char *param);
42 
43 E_API E_Sys_Con_Action *e_sys_con_extra_action_register(const char *label,
44                                                        const char *icon_group,
45                                                        const char *button_name,
46                                                        void (*func) (void *data),
47                                                        const void *data);
48 E_API void e_sys_con_extra_action_unregister(E_Sys_Con_Action *sca);
49 E_API const Eina_List *e_sys_con_extra_action_list_get(void);
50 E_API Eina_Bool e_sys_on_the_way_out_get(void);
51 
52 #endif
53 #endif
54