parent
0ccccf1934
commit
e9763d92d4
|
@ -233,6 +233,7 @@ main(int argc, char **argv)
|
|||
* during whilst this program runs.
|
||||
* - Maybe linger for a while to reduce number of cache re-creates.
|
||||
*/
|
||||
Efreet_Cache_Version version;
|
||||
Eina_List *dirs = NULL, *user_dirs = NULL;
|
||||
int priority = 0;
|
||||
char *dir = NULL;
|
||||
|
@ -404,6 +405,12 @@ main(int argc, char **argv)
|
|||
}
|
||||
|
||||
/* cleanup */
|
||||
version.major = EFREET_DESKTOP_UTILS_CACHE_MAJOR;
|
||||
version.minor = EFREET_DESKTOP_UTILS_CACHE_MINOR;
|
||||
eet_data_write(util_ef, efreet_version_edd(), EFREET_CACHE_VERSION, &version, 1);
|
||||
version.major = EFREET_DESKTOP_CACHE_MAJOR;
|
||||
version.minor = EFREET_DESKTOP_CACHE_MINOR;
|
||||
eet_data_write(ef, efreet_version_edd(), EFREET_CACHE_VERSION, &version, 1);
|
||||
eet_close(util_ef);
|
||||
eet_close(ef);
|
||||
|
||||
|
|
|
@ -358,6 +358,7 @@ main(int argc, char **argv)
|
|||
* - pass extra dirs to binary, and read them
|
||||
* - make sure programs with different extra dirs all work together
|
||||
*/
|
||||
Efreet_Cache_Version *version;
|
||||
Efreet_Cache_Theme *cache;
|
||||
Efreet_Icon_Theme *theme;
|
||||
Eet_Data_Descriptor *edd;
|
||||
|
@ -425,6 +426,25 @@ main(int argc, char **argv)
|
|||
|
||||
ef = eet_open(efreet_icon_cache_file(), EET_FILE_MODE_READ_WRITE);
|
||||
if (!ef) goto on_error_efreet;
|
||||
version = eet_data_read(ef, efreet_version_edd(), EFREET_CACHE_VERSION);
|
||||
if (version &&
|
||||
((version->major != EFREET_ICON_CACHE_MAJOR) ||
|
||||
(version->minor != EFREET_ICON_CACHE_MINOR)))
|
||||
{
|
||||
// delete old cache
|
||||
eet_close(ef);
|
||||
if (unlink(efreet_icon_cache_file()) < 0)
|
||||
{
|
||||
if (errno != ENOENT) goto on_error_efreet;
|
||||
}
|
||||
ef = eet_open(efreet_icon_cache_file(), EET_FILE_MODE_READ_WRITE);
|
||||
if (!ef) goto on_error_efreet;
|
||||
}
|
||||
if (!version)
|
||||
version = NEW(Efreet_Cache_Version, 1);
|
||||
|
||||
version->major = EFREET_ICON_CACHE_MAJOR;
|
||||
version->minor = EFREET_ICON_CACHE_MINOR;
|
||||
|
||||
edd = efreet_icon_theme_edd(EINA_TRUE);
|
||||
|
||||
|
@ -437,26 +457,12 @@ main(int argc, char **argv)
|
|||
/* read icons from the eet file */
|
||||
cache = eet_data_read(ef, edd, theme->name.internal);
|
||||
|
||||
/* Wype out in case of version change */
|
||||
if (cache &&
|
||||
(cache->version.major != EFREET_CACHE_MAJOR
|
||||
|| cache->version.minor != EFREET_CACHE_MINOR))
|
||||
{
|
||||
eina_hash_free(cache->icons);
|
||||
eina_hash_free(cache->dirs);
|
||||
free(cache);
|
||||
cache = NULL;
|
||||
}
|
||||
|
||||
/* No existing cache before, so create it */
|
||||
if (!cache)
|
||||
{
|
||||
cache = NEW(Efreet_Cache_Theme, 1);
|
||||
if (!cache) goto on_error_efreet;
|
||||
|
||||
cache->version.major = EFREET_CACHE_MAJOR;
|
||||
cache->version.minor = EFREET_CACHE_MINOR;
|
||||
|
||||
changed = EINA_TRUE;
|
||||
}
|
||||
|
||||
|
@ -486,16 +492,7 @@ main(int argc, char **argv)
|
|||
edd = efreet_icon_fallback_edd(EINA_TRUE);
|
||||
|
||||
/* read fallback icons from the eet file */
|
||||
cache = eet_data_read(ef, edd, "efreet/fallback");
|
||||
if (cache &&
|
||||
(cache->version.major != EFREET_CACHE_MAJOR
|
||||
|| cache->version.minor != EFREET_CACHE_MINOR))
|
||||
{
|
||||
if (cache->icons) eina_hash_free(cache->icons);
|
||||
if (cache->dirs) eina_hash_free(cache->dirs);
|
||||
free(cache);
|
||||
cache = NULL;
|
||||
}
|
||||
cache = eet_data_read(ef, edd, EFREET_CACHE_ICON_FALLBACK);
|
||||
|
||||
/* No existing fallback, create it */
|
||||
if (!cache)
|
||||
|
@ -503,9 +500,6 @@ main(int argc, char **argv)
|
|||
cache = NEW(Efreet_Cache_Theme, 1);
|
||||
if (!cache) goto on_error_efreet;
|
||||
|
||||
cache->version.major = EFREET_CACHE_MAJOR;
|
||||
cache->version.minor = EFREET_CACHE_MINOR;
|
||||
|
||||
changed = EINA_TRUE;
|
||||
}
|
||||
|
||||
|
@ -520,7 +514,7 @@ main(int argc, char **argv)
|
|||
{
|
||||
fprintf(stderr, "generated: fallback %i (%i)\n", changed, eina_hash_population(cache->icons));
|
||||
if (changed)
|
||||
eet_data_write(ef, edd, "efreet/fallback", cache, 1);
|
||||
eet_data_write(ef, edd, EFREET_CACHE_ICON_FALLBACK, cache, 1);
|
||||
}
|
||||
|
||||
eina_hash_free(cache->icons);
|
||||
|
@ -528,6 +522,7 @@ main(int argc, char **argv)
|
|||
free(cache);
|
||||
|
||||
/* save data */
|
||||
eet_data_write(ef, efreet_version_edd(), EFREET_CACHE_VERSION, version, 1);
|
||||
eet_close(ef);
|
||||
|
||||
/* touch update file */
|
||||
|
|
|
@ -33,6 +33,7 @@ static int _efreet_cache_log_dom = -1;
|
|||
* Data for cache files
|
||||
*/
|
||||
#ifdef ICON_CACHE
|
||||
static Eet_Data_Descriptor *cache_version_edd = NULL;
|
||||
static Eet_Data_Descriptor *directory_edd = NULL;
|
||||
static Eet_Data_Descriptor *cache_theme_edd = NULL;
|
||||
static Eet_Data_Descriptor *cache_fallback_edd = NULL;
|
||||
|
@ -142,12 +143,10 @@ efreet_cache_shutdown(void)
|
|||
if (theme_name) eina_stringshare_del(theme_name);
|
||||
theme_name = NULL;
|
||||
|
||||
if (cache) eet_close(cache);
|
||||
cache = NULL;
|
||||
cache = efreet_cache_close(cache);
|
||||
#endif
|
||||
|
||||
if (desktop_cache) eet_close(desktop_cache);
|
||||
desktop_cache = NULL;
|
||||
desktop_cache = efreet_cache_close(desktop_cache);
|
||||
IF_RELEASE(desktop_cache_file);
|
||||
IF_RELEASE(desktop_cache_dirs);
|
||||
|
||||
|
@ -257,6 +256,7 @@ Edd = NULL;
|
|||
static void
|
||||
efreet_cache_edd_shutdown(void)
|
||||
{
|
||||
EDD_SHUTDOWN(cache_version_edd);
|
||||
EDD_SHUTDOWN(desktop_edd);
|
||||
#ifdef ICON_CACHE
|
||||
EDD_SHUTDOWN(cache_fallback_edd);
|
||||
|
@ -326,6 +326,28 @@ efreet_icon_directory_edd(void)
|
|||
return directory_edd;
|
||||
}
|
||||
|
||||
/*
|
||||
* Needs EAPI because of helper binaries
|
||||
*/
|
||||
EAPI Eet_Data_Descriptor *
|
||||
efreet_version_edd(void)
|
||||
{
|
||||
Eet_Data_Descriptor_Class eddc;
|
||||
|
||||
if (cache_version_edd) return cache_version_edd;
|
||||
|
||||
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Efreet_Cache_Version);
|
||||
cache_version_edd = eet_data_descriptor_file_new(&eddc);
|
||||
if (!cache_version_edd) return NULL;
|
||||
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(cache_version_edd, Efreet_Cache_Version,
|
||||
"minor", minor, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(cache_version_edd, Efreet_Cache_Version,
|
||||
"major", major, EET_T_UCHAR);
|
||||
|
||||
return cache_version_edd;
|
||||
}
|
||||
|
||||
/*
|
||||
* Needs EAPI because of helper binaries
|
||||
*/
|
||||
|
@ -369,10 +391,6 @@ efreet_icon_theme_edd(Eina_Bool include_dirs)
|
|||
cache_theme_edd = eet_data_descriptor_file_new(&eddc);
|
||||
if (!cache_theme_edd) return NULL;
|
||||
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(cache_theme_edd, Efreet_Cache_Theme,
|
||||
"version.minor", version.minor, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(cache_theme_edd, Efreet_Cache_Theme,
|
||||
"version.major", version.major, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_HASH(cache_theme_edd, Efreet_Cache_Theme,
|
||||
"icons", icons, icon_edd);
|
||||
|
||||
|
@ -419,10 +437,6 @@ efreet_icon_fallback_edd(Eina_Bool include_dirs)
|
|||
cache_fallback_edd = eet_data_descriptor_file_new(&eddc);
|
||||
if (!cache_fallback_edd) return NULL;
|
||||
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(cache_fallback_edd, Efreet_Cache_Theme,
|
||||
"version.minor", version.minor, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_BASIC(cache_fallback_edd, Efreet_Cache_Theme,
|
||||
"version.major", version.major, EET_T_UCHAR);
|
||||
EET_DATA_DESCRIPTOR_ADD_HASH(cache_fallback_edd, Efreet_Cache_Theme,
|
||||
"icons", icons, icon_fallback_edd);
|
||||
|
||||
|
@ -507,8 +521,7 @@ efreet_cache_icon_fallback_free(Efreet_Cache_Fallback_Icon *icon)
|
|||
Efreet_Cache_Icon *
|
||||
efreet_cache_icon_find(Efreet_Icon_Theme *theme, const char *icon)
|
||||
{
|
||||
if (!cache) cache = eet_open(efreet_icon_cache_file(), EET_FILE_MODE_READ);
|
||||
if (!cache) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_icon_cache_file(), EFREET_ICON_CACHE_MAJOR)) return NULL;
|
||||
|
||||
if (theme_name && strcmp(theme_name, theme->name.internal))
|
||||
{
|
||||
|
@ -529,7 +542,7 @@ efreet_cache_icon_find(Efreet_Icon_Theme *theme, const char *icon)
|
|||
theme_name = eina_stringshare_add(theme->name.internal);
|
||||
}
|
||||
|
||||
if (!theme_cache || theme_cache->version.major != EFREET_CACHE_MAJOR) return NULL;
|
||||
if (!theme_cache) return NULL;
|
||||
|
||||
return eina_hash_find(theme_cache->icons, icon);
|
||||
}
|
||||
|
@ -537,18 +550,17 @@ efreet_cache_icon_find(Efreet_Icon_Theme *theme, const char *icon)
|
|||
Efreet_Cache_Fallback_Icon *
|
||||
efreet_cache_icon_fallback_find(const char *icon)
|
||||
{
|
||||
if (!cache) cache = eet_open(efreet_icon_cache_file(), EET_FILE_MODE_READ);
|
||||
if (!cache) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_icon_cache_file(), EFREET_ICON_CACHE_MAJOR)) return NULL;
|
||||
|
||||
if (!fallback_cache)
|
||||
{
|
||||
INFO("loading fallback cache");
|
||||
fallback_cache = eet_data_read(cache, efreet_icon_fallback_edd(EINA_FALSE), "efreet/fallback");
|
||||
fallback_cache = eet_data_read(cache, efreet_icon_fallback_edd(EINA_FALSE), EFREET_CACHE_ICON_FALLBACK);
|
||||
if (fallback_cache && !fallback_cache->icons)
|
||||
fallback_cache->icons = eina_hash_string_superfast_new((Eina_Free_Cb) efreet_cache_icon_fallback_free);
|
||||
}
|
||||
|
||||
if (!fallback_cache || fallback_cache->version.major != EFREET_CACHE_MAJOR) return NULL;
|
||||
if (!fallback_cache) return NULL;
|
||||
|
||||
return eina_hash_find(fallback_cache->icons, icon);
|
||||
}
|
||||
|
@ -562,10 +574,7 @@ efreet_cache_desktop_find(const char *file)
|
|||
|
||||
if (!realpath(file, rp)) return NULL;
|
||||
|
||||
if (!desktop_cache)
|
||||
desktop_cache = eet_open(efreet_desktop_cache_file(), EET_FILE_MODE_READ);
|
||||
if (!desktop_cache)
|
||||
return NULL;
|
||||
if (!efreet_cache_check(&desktop_cache, efreet_desktop_cache_file(), EFREET_DESKTOP_CACHE_MAJOR)) return NULL;
|
||||
|
||||
desktop = eet_data_read(desktop_cache, efreet_desktop_edd(), rp);
|
||||
if (!desktop) return NULL;
|
||||
|
@ -621,6 +630,40 @@ efreet_cache_desktop_free(Efreet_Desktop *desktop)
|
|||
}
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
efreet_cache_check(Eet_File **ef, const char *path, int major)
|
||||
{
|
||||
Efreet_Cache_Version *version;
|
||||
|
||||
if (*ef == NON_EXISTING) return EINA_FALSE;
|
||||
if (!*ef)
|
||||
*ef = eet_open(path, EET_FILE_MODE_READ);
|
||||
if (!*ef)
|
||||
{
|
||||
*ef = NON_EXISTING;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
version = eet_data_read(*ef, efreet_version_edd(), EFREET_CACHE_VERSION);
|
||||
if ((!version) || (version->major != major))
|
||||
{
|
||||
IF_FREE(version);
|
||||
eet_close(*ef);
|
||||
*ef = NON_EXISTING;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
free(version);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
void *
|
||||
efreet_cache_close(Eet_File *ef)
|
||||
{
|
||||
if (ef && ef != NON_EXISTING)
|
||||
eet_close(ef);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
cache_exe_cb(void *data __UNUSED__, int type __UNUSED__, void *event)
|
||||
{
|
||||
|
@ -698,8 +741,7 @@ cache_update_cb(void *data __UNUSED__, Ecore_File_Monitor *em __UNUSED__,
|
|||
fallback_cache = _efreet_cache_free(fallback_cache);
|
||||
}
|
||||
|
||||
if (cache) eet_close(cache);
|
||||
cache = NULL;
|
||||
cache = efreet_cache_close(cache);
|
||||
|
||||
ev = NEW(Efreet_Event_Cache_Update, 1);
|
||||
if (!ev) return;
|
||||
|
@ -821,7 +863,7 @@ desktop_cache_update_free(void *data, void *ev)
|
|||
*/
|
||||
if (dangling == 0)
|
||||
{
|
||||
if (d->ef) eet_close(d->ef);
|
||||
efreet_cache_close(d->ef);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1,6 +1,15 @@
|
|||
#ifndef EFREET_CACHE_PRIVATE_H
|
||||
#define EFREET_CACHE_PRIVATE_H
|
||||
|
||||
#define EFREET_CACHE_VERSION "efreet//version"
|
||||
#ifdef ICON_CACHE
|
||||
#define EFREET_CACHE_ICON_FALLBACK "efreet//fallback"
|
||||
#endif
|
||||
|
||||
Eina_Bool efreet_cache_check(Eet_File **ef, const char *path, int major);
|
||||
void *efreet_cache_close(Eet_File *ef);
|
||||
|
||||
EAPI Eet_Data_Descriptor *efreet_version_edd(void);
|
||||
EAPI Eet_Data_Descriptor *efreet_desktop_edd(void);
|
||||
#ifdef ICON_CACHE
|
||||
EAPI Eet_Data_Descriptor *efreet_icon_theme_edd(Eina_Bool include_dirs);
|
||||
|
|
|
@ -116,22 +116,28 @@ extern int _efreet_log_dom_global;
|
|||
extern Eina_Hash *efreet_desktop_cache;
|
||||
|
||||
#ifdef ICON_CACHE
|
||||
#define EFREET_CACHE_MAJOR 0
|
||||
#define EFREET_CACHE_MINOR 3
|
||||
#define EFREET_ICON_CACHE_MAJOR 0
|
||||
#define EFREET_ICON_CACHE_MINOR 4
|
||||
#define EFREET_DESKTOP_CACHE_MAJOR 0
|
||||
#define EFREET_DESKTOP_CACHE_MINOR 1
|
||||
#define EFREET_DESKTOP_UTILS_CACHE_MAJOR 0
|
||||
#define EFREET_DESKTOP_UTILS_CACHE_MINOR 1
|
||||
|
||||
typedef struct _Efreet_Cache_Icon_Element Efreet_Cache_Icon_Element;
|
||||
typedef struct _Efreet_Cache_Fallback_Icon Efreet_Cache_Fallback_Icon;
|
||||
typedef struct _Efreet_Cache_Icon Efreet_Cache_Icon;
|
||||
typedef struct _Efreet_Cache_Version Efreet_Cache_Version;
|
||||
typedef struct _Efreet_Cache_Theme Efreet_Cache_Theme;
|
||||
typedef struct _Efreet_Cache_Directory Efreet_Cache_Directory;
|
||||
typedef struct _Efreet_Cache_Icon Efreet_Cache_Icon;
|
||||
typedef struct _Efreet_Cache_Icon_Element Efreet_Cache_Icon_Element;
|
||||
typedef struct _Efreet_Cache_Fallback_Icon Efreet_Cache_Fallback_Icon;
|
||||
|
||||
struct _Efreet_Cache_Version
|
||||
{
|
||||
unsigned char major;
|
||||
unsigned char minor;
|
||||
};
|
||||
|
||||
struct _Efreet_Cache_Theme
|
||||
{
|
||||
struct {
|
||||
unsigned char major;
|
||||
unsigned char minor;
|
||||
} version;
|
||||
|
||||
Eina_Hash *icons;
|
||||
Eina_Hash *dirs;
|
||||
};
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
# include <config.h>
|
||||
#endif
|
||||
|
||||
/* TODO: move eet file handling to eet_cache.c */
|
||||
|
||||
#undef alloca
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
|
@ -32,6 +34,7 @@ void *alloca (size_t);
|
|||
|
||||
#include "Efreet.h"
|
||||
#include "efreet_private.h"
|
||||
#include "efreet_cache_private.h"
|
||||
|
||||
/* define macros and variable for using the eina logging system */
|
||||
|
||||
|
@ -51,8 +54,6 @@ static Efreet_Desktop *efreet_util_cache_find(const char *search, const char *wh
|
|||
static Eina_List *efreet_util_cache_list(const char *search, const char *what);
|
||||
static Eina_List *efreet_util_cache_glob_list(const char *search, const char *what);
|
||||
|
||||
static Eina_Bool cache_check(void);
|
||||
|
||||
static Eina_Hash *file_id_by_desktop_path = NULL;
|
||||
static const char *cache_file = NULL;
|
||||
static Eet_File *cache = NULL;
|
||||
|
@ -83,7 +84,7 @@ efreet_util_shutdown(void)
|
|||
|
||||
eina_log_domain_unregister(_efreet_utils_log_dom);
|
||||
IF_FREE_HASH(file_id_by_desktop_path);
|
||||
if (cache) eet_close(cache);
|
||||
cache = efreet_cache_close(cache);
|
||||
IF_RELEASE(cache_file);
|
||||
return init;
|
||||
}
|
||||
|
@ -238,7 +239,7 @@ efreet_util_desktop_exec_find(const char *exec)
|
|||
int num, i;
|
||||
Efreet_Desktop *ret = NULL;
|
||||
|
||||
if (!cache_check()) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_desktop_util_cache_file(), EFREET_DESKTOP_UTILS_CACHE_MAJOR)) return NULL;
|
||||
if (!exec) return NULL;
|
||||
|
||||
keys = eet_list(cache, "*::e", &num);
|
||||
|
@ -331,7 +332,7 @@ efreet_util_desktop_exec_glob_list(const char *glob)
|
|||
int num, i;
|
||||
Eina_List *ret = NULL;
|
||||
|
||||
if (!cache_check()) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_desktop_util_cache_file(), EFREET_DESKTOP_UTILS_CACHE_MAJOR)) return NULL;
|
||||
if (!glob) return NULL;
|
||||
|
||||
keys = eet_list(cache, "*::e", &num);
|
||||
|
@ -408,7 +409,7 @@ efreet_util_desktop_categories_list(void)
|
|||
int num, i;
|
||||
Eina_List *ret = NULL;
|
||||
|
||||
if (!cache_check()) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_desktop_util_cache_file(), EFREET_DESKTOP_UTILS_CACHE_MAJOR)) return NULL;
|
||||
keys = eet_list(cache, "*::ca", &num);
|
||||
if (!keys) return NULL;
|
||||
for (i = 0; i < num; i++)
|
||||
|
@ -506,7 +507,7 @@ efreet_util_cache_find(const char *search, const char *what1, const char *what2)
|
|||
int num, i;
|
||||
Efreet_Desktop *ret = NULL;
|
||||
|
||||
if (!cache_check()) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_desktop_util_cache_file(), EFREET_DESKTOP_UTILS_CACHE_MAJOR)) return NULL;
|
||||
if ((!what1) && (!what2)) return NULL;
|
||||
|
||||
keys = eet_list(cache, search, &num);
|
||||
|
@ -540,7 +541,7 @@ efreet_util_cache_list(const char *search, const char *what)
|
|||
int num, i;
|
||||
Eina_List *ret = NULL;
|
||||
|
||||
if (!cache_check()) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_desktop_util_cache_file(), EFREET_DESKTOP_UTILS_CACHE_MAJOR)) return NULL;
|
||||
if (!what) return NULL;
|
||||
|
||||
keys = eet_list(cache, search, &num);
|
||||
|
@ -575,7 +576,7 @@ efreet_util_cache_glob_list(const char *search, const char *what)
|
|||
int num, i;
|
||||
Eina_List *ret = NULL;
|
||||
|
||||
if (!cache_check()) return NULL;
|
||||
if (!efreet_cache_check(&cache, efreet_desktop_util_cache_file(), EFREET_DESKTOP_UTILS_CACHE_MAJOR)) return NULL;
|
||||
if (!what) return NULL;
|
||||
|
||||
keys = eet_list(cache, search, &num);
|
||||
|
@ -606,20 +607,5 @@ efreet_util_cache_glob_list(const char *search, const char *what)
|
|||
void
|
||||
efreet_util_desktop_cache_reload(void)
|
||||
{
|
||||
if (cache && cache != NON_EXISTING) eet_close(cache);
|
||||
cache = NULL;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
cache_check(void)
|
||||
{
|
||||
if (cache == NON_EXISTING) return EINA_FALSE;
|
||||
if (!cache)
|
||||
cache = eet_open(efreet_desktop_util_cache_file(), EET_FILE_MODE_READ);
|
||||
if (!cache)
|
||||
{
|
||||
cache = NON_EXISTING;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
return EINA_TRUE;
|
||||
cache = efreet_cache_close(cache);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue