1 #ifndef EFREET_CACHE_PRIVATE_H
2 #define EFREET_CACHE_PRIVATE_H
4 #define EFREET_DESKTOP_CACHE_MAJOR 1
5 #define EFREET_DESKTOP_CACHE_MINOR 0
6 #define EFREET_DESKTOP_UTILS_CACHE_MAJOR 1
7 #define EFREET_DESKTOP_UTILS_CACHE_MINOR 0
9 #define EFREET_ICON_CACHE_MAJOR 1
10 #define EFREET_ICON_CACHE_MINOR 0
12 #define EFREET_CACHE_VERSION "__efreet//version"
13 #define EFREET_CACHE_ICON_FALLBACK "__efreet_fallback"
14 #define EFREET_CACHE_ICON_EXTENSIONS "__efreet//icon_extensions"
15 #define EFREET_CACHE_ICON_EXTRA_DIRS "__efreet//icon_extra_dirs"
16 #define EFREET_CACHE_DESKTOP_DIRS "__efreet//desktop_dirs"
18 EAPI const char *efreet_desktop_util_cache_file(void);
19 EAPI const char *efreet_desktop_cache_file(void);
20 EAPI const char *efreet_icon_cache_file(const char *theme);
21 EAPI const char *efreet_icon_theme_cache_file(void);
23 EAPI Eet_Data_Descriptor *efreet_version_edd(void);
24 EAPI Eet_Data_Descriptor *efreet_desktop_edd(void);
25 EAPI Eet_Data_Descriptor *efreet_hash_array_string_edd(void);
26 EAPI Eet_Data_Descriptor *efreet_hash_string_edd(void);
27 EAPI Eet_Data_Descriptor *efreet_array_string_edd(void);
28 EAPI Eet_Data_Descriptor *efreet_icon_theme_edd(Eina_Bool cache);
29 EAPI Eet_Data_Descriptor *efreet_icon_edd(void);
30 EAPI Eet_Data_Descriptor *efreet_icon_fallback_edd(void);
32 typedef struct _Efreet_Cache_Icon_Theme Efreet_Cache_Icon_Theme;
33 typedef struct _Efreet_Cache_Directory Efreet_Cache_Directory;
34 typedef struct _Efreet_Cache_Desktop Efreet_Cache_Desktop;
36 struct _Efreet_Cache_Icon_Theme
38 Efreet_Icon_Theme theme;
40 long long last_cache_check; /**< Last time the cache was checked */
42 Eina_Hash *dirs; /**< All possible icon paths for this theme */
44 const char *path; /**< path to index.theme */
46 Eina_Bool hidden:1; /**< Should this theme be hidden from users */
47 Eina_Bool valid:1; /**< Have we seen an index for this theme */
48 Eina_Bool changed:1; /**< Changed since last seen */
51 struct _Efreet_Cache_Directory
53 long long modified_time;
56 struct _Efreet_Cache_Desktop
58 Efreet_Desktop desktop;
60 double check_time; /**< Last time we check for disk modification */