diff --git a/legacy/efreet/src/lib/Makefile.am b/legacy/efreet/src/lib/Makefile.am index b064d6dfb7..f3e36d9653 100644 --- a/legacy/efreet/src/lib/Makefile.am +++ b/legacy/efreet/src/lib/Makefile.am @@ -23,12 +23,8 @@ efreet_desktop.c \ efreet_desktop_command.c \ efreet_menu.c \ efreet_utils.c \ -efreet_uri.c - -if ICON_CACHE -EFREETSOURCES += \ +efreet_uri.c \ efreet_cache.c -endif includes_HEADERS = $(EFREETHEADERS) Efreet_Mime.h Efreet_Trash.h includesdir = $(includedir)/efreet-@VMAJ@ diff --git a/legacy/efreet/src/lib/efreet_cache.c b/legacy/efreet/src/lib/efreet_cache.c index 25a1bbb8b4..a1076737c0 100644 --- a/legacy/efreet/src/lib/efreet_cache.c +++ b/legacy/efreet/src/lib/efreet_cache.c @@ -22,6 +22,7 @@ struct _Efreet_Old_Cache /** * Data for cache files */ +#ifdef ICON_CACHE static Eet_Data_Descriptor *cache_icon_edd = NULL; static Eet_Data_Descriptor *cache_icon_element_edd = NULL; static Eet_Data_Descriptor *cache_icon_fallback_edd = NULL; @@ -29,6 +30,7 @@ static Eet_Data_Descriptor *cache_icon_fallback_edd = NULL; static Eet_File *icon_cache = NULL; static const char *icon_cache_name = NULL; static Eet_File *icon_fallback_cache = NULL; +#endif static Eet_Data_Descriptor *desktop_edd = NULL; @@ -41,16 +43,20 @@ static Ecore_File_Monitor *cache_monitor = NULL; static Ecore_Timer *cache_timer = NULL; static Ecore_Event_Handler *cache_exe_handler = NULL; +#ifdef ICON_CACHE static Ecore_Job *icon_cache_job = NULL; static Ecore_Exe *icon_cache_exe = NULL; static int icon_cache_exe_lock = -1; +#endif static Ecore_Job *desktop_cache_job = NULL; static Ecore_Exe *desktop_cache_exe = NULL; static int desktop_cache_exe_lock = -1; static Eina_List *old_desktop_caches = NULL; +#ifdef ICON_CACHE static void efreet_icon_edd_shutdown(void); +#endif static void efreet_desktop_edd_shutdown(void); static Eina_Bool cache_exe_cb(void *data, int type, void *event); @@ -60,13 +66,19 @@ static void cache_update_cb(void *data, Ecore_File_Monitor *em, static void cache_timer_update(void); static Eina_Bool cache_timer_cb(void *data); +#ifdef ICON_CACHE static void icon_cache_close(void); +#endif static void desktop_cache_update_cache_job(void *data); +#ifdef ICON_CACHE static void icon_cache_update_cache_job(void *data); +#endif static void desktop_cache_update_free(void *data, void *ev); +#ifdef ICON_CACHE EAPI int EFREET_EVENT_ICON_CACHE_UPDATE = 0; +#endif EAPI int EFREET_EVENT_DESKTOP_CACHE_UPDATE = 0; int @@ -74,14 +86,18 @@ efreet_cache_init(void) { char buf[PATH_MAX]; +#ifdef ICON_CACHE if (!efreet_icon_edd_init()) goto error; if (!efreet_icon_fallback_edd_init()) goto error; +#endif if (!efreet_desktop_edd_init()) goto error; +#ifdef ICON_CACHE EFREET_EVENT_ICON_CACHE_UPDATE = ecore_event_type_new(); +#endif EFREET_EVENT_DESKTOP_CACHE_UPDATE = ecore_event_type_new(); snprintf(buf, sizeof(buf), "%s/.efreet", efreet_home_dir_get()); @@ -103,7 +119,9 @@ efreet_cache_init(void) efreet_icon_changes_listen(); #endif +#ifdef ICON_CACHE efreet_cache_icon_update(); +#endif efreet_cache_desktop_update(); } @@ -111,7 +129,9 @@ efreet_cache_init(void) error: if (cache_exe_handler) ecore_event_handler_del(cache_exe_handler); if (cache_monitor) ecore_file_monitor_del(cache_monitor); +#ifdef ICON_CACHE efreet_icon_edd_shutdown(); +#endif efreet_desktop_edd_shutdown(); return 0; } @@ -122,27 +142,33 @@ efreet_cache_shutdown(void) Efreet_Old_Cache *d; if (cache_timer) ecore_timer_del(cache_timer); +#ifdef ICON_CACHE icon_cache_close(); +#endif if (desktop_cache) eet_close(desktop_cache); IF_RELEASE(desktop_cache_file); IF_RELEASE(desktop_cache_dirs); if (cache_exe_handler) ecore_event_handler_del(cache_exe_handler); if (cache_monitor) ecore_file_monitor_del(cache_monitor); +#ifdef ICON_CACHE efreet_icon_edd_shutdown(); +#endif efreet_desktop_edd_shutdown(); if (desktop_cache_job) { ecore_job_del(desktop_cache_job); desktop_cache_job = NULL; } +#ifdef ICON_CACHE if (icon_cache_exe) ecore_exe_terminate(icon_cache_exe); - if (desktop_cache_exe) ecore_exe_terminate(desktop_cache_exe); if (icon_cache_exe_lock > 0) { close(icon_cache_exe_lock); icon_cache_exe_lock = -1; } +#endif + if (desktop_cache_exe) ecore_exe_terminate(desktop_cache_exe); if (desktop_cache_exe_lock > 0) { close(desktop_cache_exe_lock); @@ -156,6 +182,7 @@ efreet_cache_shutdown(void) } } +#ifdef ICON_CACHE /* * Needs EAPI because of helper binaries */ @@ -171,6 +198,7 @@ efreet_icon_cache_file(const char *theme) return cache_file; } +#endif /* * Needs EAPI because of helper binaries @@ -217,6 +245,7 @@ efreet_desktop_cache_dirs(void) return desktop_cache_dirs; } +#ifdef ICON_CACHE /* * Needs EAPI because of helper binaries */ @@ -298,6 +327,7 @@ efreet_icon_edd_shutdown(void) if (cache_icon_fallback_edd) eet_data_descriptor_free(cache_icon_fallback_edd); cache_icon_fallback_edd = NULL; } +#endif /* * Needs EAPI because of helper binaries @@ -345,6 +375,7 @@ efreet_desktop_edd_shutdown(void) desktop_edd = NULL; } +#ifdef ICON_CACHE /* * Needs EAPI because of helper binaries */ @@ -436,6 +467,7 @@ efreet_cache_icon_fallback_find(const char *icon) return eet_data_read(icon_fallback_cache, cache_icon_fallback_edd, icon); return NULL; } +#endif Efreet_Desktop * efreet_cache_desktop_find(const char *file) @@ -469,6 +501,7 @@ efreet_cache_desktop_update(void) desktop_cache_job = ecore_job_add(desktop_cache_update_cache_job, NULL); } +#ifdef ICON_CACHE void efreet_cache_icon_update(void) { @@ -478,6 +511,7 @@ efreet_cache_icon_update(void) if (icon_cache_job) ecore_job_del(icon_cache_job); icon_cache_job = ecore_job_add(icon_cache_update_cache_job, NULL); } +#endif void efreet_cache_desktop_free(Efreet_Desktop *desktop) @@ -510,16 +544,7 @@ cache_exe_cb(void *data __UNUSED__, int type __UNUSED__, void *event) Ecore_Exe_Event_Del *ev; ev = event; - if (ev->exe == icon_cache_exe) - { - if (icon_cache_exe_lock > 0) - { - close(icon_cache_exe_lock); - icon_cache_exe_lock = -1; - } - icon_cache_exe = NULL; - } - else if (ev->exe == desktop_cache_exe) + if (ev->exe == desktop_cache_exe) { if (desktop_cache_exe_lock > 0) { @@ -528,6 +553,17 @@ cache_exe_cb(void *data __UNUSED__, int type __UNUSED__, void *event) } desktop_cache_exe = NULL; } +#ifdef ICON_CACHE + else if (ev->exe == icon_cache_exe) + { + if (icon_cache_exe_lock > 0) + { + close(icon_cache_exe_lock); + icon_cache_exe_lock = -1; + } + icon_cache_exe = NULL; + } +#endif return ECORE_CALLBACK_RENEW; } @@ -546,16 +582,7 @@ cache_update_cb(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__, file = ecore_file_file_get(path); if (!file) return; - if (!strcmp(file, "icon_data.update")) - { - printf("update icon cache\n"); - icon_cache_close(); - - ev = NEW(Efreet_Event_Cache_Update, 1); - if (!ev) return; - ecore_event_add(EFREET_EVENT_ICON_CACHE_UPDATE, ev, NULL, NULL); - } - else if (!strcmp(file, "desktop_data.update")) + if (!strcmp(file, "desktop_data.update")) { printf("update desktop cache\n"); tmp = eet_open(efreet_desktop_cache_file(), EET_FILE_MODE_READ); @@ -576,6 +603,17 @@ cache_update_cb(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__, ecore_event_add(EFREET_EVENT_DESKTOP_CACHE_UPDATE, ev, desktop_cache_update_free, d); return; } +#ifdef ICON_CACHE + else if (!strcmp(file, "icon_data.update")) + { + printf("update icon cache\n"); + icon_cache_close(); + + ev = NEW(Efreet_Event_Cache_Update, 1); + if (!ev) return; + ecore_event_add(EFREET_EVENT_ICON_CACHE_UPDATE, ev, NULL, NULL); + } +#endif error: IF_FREE(ev); IF_FREE(d); @@ -596,12 +634,15 @@ cache_timer_cb(void *data __UNUSED__) { cache_timer = NULL; +#ifdef ICON_CACHE icon_cache_close(); +#endif if (desktop_cache) eet_close(desktop_cache); desktop_cache = NULL; return ECORE_CALLBACK_DONE; } +#ifdef ICON_CACHE static void icon_cache_close(void) { @@ -611,6 +652,7 @@ icon_cache_close(void) icon_fallback_cache = NULL; IF_RELEASE(icon_cache_name); } +#endif static void desktop_cache_update_cache_job(void *data __UNUSED__) @@ -646,6 +688,7 @@ error: } } +#ifdef ICON_CACHE static void icon_cache_update_cache_job(void *data __UNUSED__) { @@ -677,6 +720,7 @@ error: icon_cache_exe_lock = -1; } } +#endif static void desktop_cache_update_free(void *data, void *ev) diff --git a/legacy/efreet/src/lib/efreet_private.h b/legacy/efreet/src/lib/efreet_private.h index fba3592b41..bfbbdb8bf9 100644 --- a/legacy/efreet/src/lib/efreet_private.h +++ b/legacy/efreet/src/lib/efreet_private.h @@ -214,12 +214,11 @@ int efreet_desktop_write_cache_dirs_file(void); void efreet_desktop_changes_listen(void); void efreet_cache_desktop_update(void); +#ifdef ICON_CACHE void efreet_cache_icon_update(void); +#endif void efreet_cache_desktop_free(Efreet_Desktop *desktop); Efreet_Desktop *efreet_cache_desktop_find(const char *file); -#if 0 -void efreet_icon_update_cache(void); -#endif #ifdef ICON_CACHE EAPI const char *efreet_icon_cache_file(const char *theme);