master empc no longer opens and closes eet files constantly

This commit is contained in:
zmike 2014-10-07 14:16:05 -04:00
parent 5c37a685aa
commit 5af820e0da
2 changed files with 16 additions and 6 deletions

View File

@ -18,6 +18,7 @@ try_lyr(void)
{
char buf[PATH_MAX];
if (master && ef_lyr) return EINA_TRUE;
snprintf(buf, sizeof(buf), "%s/empc/metadata/lyrics.eet", efreet_cache_home_get());
ef_lyr = eet_open(buf, EET_FILE_MODE_READ);
return !!ef_lyr;
@ -28,6 +29,7 @@ try_img(void)
{
char buf[PATH_MAX];
if (master && ef_img) return EINA_TRUE;
snprintf(buf, sizeof(buf), "%s/empc/metadata/images.eet", efreet_cache_home_get());
ef_img = eet_open(buf, EET_FILE_MODE_READ);
return !!ef_img;
@ -130,8 +132,8 @@ _loader_fetch(Empc_Fetch_Request *req)
eina_stringshare_del(url);
}
}
eet_close(ef_img);
ef_img = NULL;
if (!master)
E_FREE_FUNC(ef_img, eet_close);
}
else
{
@ -148,8 +150,8 @@ _loader_fetch(Empc_Fetch_Request *req)
}
free(txt);
}
eet_close(ef_lyr);
ef_lyr = NULL;
if (!master)
E_FREE_FUNC(ef_lyr, eet_close);
}
if (l)
empc_metadata_fetch_done(req, l);

View File

@ -24,6 +24,7 @@ try_lyr(void)
{
char buf[PATH_MAX];
if (master && ef_lyr) return EINA_TRUE;
snprintf(buf, sizeof(buf), "%s/empc/metadata/lyrics.eet", efreet_cache_home_get());
ef_lyr = eet_open(buf, EET_FILE_MODE_READ_WRITE);
return !!ef_lyr;
@ -34,6 +35,7 @@ try_img(void)
{
char buf[PATH_MAX];
if (master && ef_img) return EINA_TRUE;
snprintf(buf, sizeof(buf), "%s/empc/metadata/images.eet", efreet_cache_home_get());
ef_img = eet_open(buf, EET_FILE_MODE_READ_WRITE);
return !!ef_img;
@ -75,7 +77,10 @@ empc_module_metadata_save_image(Evas_Object *obj, const char *uri, const char *a
eet_delete(ef_img, buf);
eet_hash_set(ef_img, buf, NULL);
}
eio_eet_close(ef_img, cb, cb, NULL);
if (master)
eio_eet_sync(ef_img, cb, cb, NULL);
else
eio_eet_close(ef_img, cb, cb, NULL);
}
EAPI void
@ -97,7 +102,10 @@ empc_module_metadata_save_text(const char *text, const char *artist, const char
}
snprintf(buf, sizeof(buf), "%s:::%s", a ?: "", b ?: "");
eet_write(ef_lyr, buf, text, strlen(text) + 1, 1);
eio_eet_close(ef_lyr, cb, cb, NULL);
if (master)
eio_eet_sync(ef_lyr, cb, cb, NULL);
else
eio_eet_close(ef_lyr, cb, cb, NULL);
}
EAPI Empc_Module_Type