eb3f90180aa79ad4bc118f99713181f97e37a65b
[framework/uifw/efreet.git] / src / lib / efreet_utils.h
1 /* vim: set sw=4 ts=4 sts=4 et: */
2 #ifndef EFREET_UTILS_H
3 #define EFREET_UTILS_H
4
5 #include <Eina.h>
6
7 typedef enum _Efreet_Desktop_Change Efreet_Desktop_Change;
8
9 enum _Efreet_Desktop_Change
10 {
11     EFREET_DESKTOP_CHANGE_ADD,
12     EFREET_DESKTOP_CHANGE_REMOVE,
13     EFREET_DESKTOP_CHANGE_UPDATE
14 };
15
16 typedef struct _Efreet_Event_Desktop_Change Efreet_Event_Desktop_Change;
17
18 struct _Efreet_Event_Desktop_Change
19 {
20     Efreet_Desktop *current;
21     Efreet_Desktop *previous;
22     Efreet_Desktop_Change change;
23 };
24
25 EAPI int efreet_util_init(void);
26 EAPI int efreet_util_shutdown(void);
27
28 EAPI const char *efreet_util_path_to_file_id(const char *path);
29
30 EAPI Eina_List *efreet_util_desktop_mime_list(const char *mime);
31
32 EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass);
33 EAPI Efreet_Desktop *efreet_util_desktop_file_id_find(const char *file_id);
34 EAPI Efreet_Desktop *efreet_util_desktop_exec_find(const char *exec);
35 EAPI Efreet_Desktop *efreet_util_desktop_name_find(const char *name);
36 EAPI Efreet_Desktop *efreet_util_desktop_generic_name_find(const char *generic_name);
37
38 EAPI Eina_List *efreet_util_desktop_name_glob_list(const char *glob);
39 EAPI Eina_List *efreet_util_desktop_exec_glob_list(const char *glob);
40 EAPI Eina_List *efreet_util_desktop_generic_name_glob_list(const char *glob);
41 EAPI Eina_List *efreet_util_desktop_comment_glob_list(const char *glob);
42
43 EAPI Eina_List *efreet_util_desktop_categories_list(void);
44 EAPI Eina_List *efreet_util_desktop_category_list(const char *category);
45
46 EAPI Eina_List *efreet_util_menus_find(void);
47
48 EAPI extern int EFREET_EVENT_DESKTOP_LIST_CHANGE;
49 EAPI extern int EFREET_EVENT_DESKTOP_CHANGE;
50
51 #endif