free(ps);
}
+static Eet_File *
+_edje_edit_eet_open(Edje *ed, Eet_File_Mode mode)
+{
+ Eet_File *eetf;
+
+ switch (mode)
+ {
+ case EET_FILE_MODE_INVALID:
+ return NULL;
+ case EET_FILE_MODE_READ:
+ return ed->file->ef;
+ case EET_FILE_MODE_WRITE:
+ case EET_FILE_MODE_READ_WRITE:
+ eetf = eet_open(ed->path, mode);
+ if (!eetf)
+ ERR("Unable to open \"%s\" for writing output", ed->path);
+ return eetf;
+ }
+ return NULL;
+}
+
+static void
+_edje_edit_eet_close(Eet_File *ef)
+{
+ Eet_File_Mode mode = eet_mode_get(ef);
+ if (mode != EET_FILE_MODE_READ)
+ eet_close(ef);
+}
+
EOLIAN static Eina_Bool
_edje_edit_efl_file_file_set(Eo *obj, Edje_Edit *eed, const char *file, const char *group)
{
if (!int_ret)
return ret;
+ GET_ED_OR_RETURN(EINA_FALSE);
+
eed->program_scripts = eina_hash_int32_new((Eina_Free_Cb)_edje_edit_program_script_free);
- ef = eet_open(file, EET_FILE_MODE_READ);
+ ef = _edje_edit_eet_open(ed, EET_FILE_MODE_READ);
snprintf(buf, sizeof(buf), "edje/scripts/embryo/source/%i",
eed->base->collection->id);
}
free(keys);
}
- eet_close(ef);
+ _edje_edit_eet_close(ef);
ret = EINA_TRUE;
}
/* Write file data to edje file */
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Unable to open \"%s\" for writing output", ed->path);
- goto on_error;
- }
+ goto on_error;
if (eet_write(eetf, entry, fdata, fsize, compress) <= 0)
{
if (!_edje_edit_edje_file_save(eetf, ed->file))
goto on_error;
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
eina_file_map_free(f, fdata);
eina_file_close(f);
return EINA_TRUE;
on_error:
- if (eetf) eet_close(eetf);
+ if (eetf) _edje_edit_eet_close(eetf);
eina_file_map_free(f, fdata);
eina_file_close(f);
}
/* open the eet file */
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
{
- ERR("Unable to open \"%s\" for writing output", ed->path);
evas_object_del(im);
return EINA_FALSE;
}
{
ERR("Unable to write image part \"%s\" part entry to %s",
entry, ed->path);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
evas_object_del(im);
return EINA_FALSE;
}
if (!_edje_edit_edje_file_save(eetf, ed->file))
{
eet_delete(eetf, entry);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_TRUE;
}
Eet_File *eetf;
Edje_Sound_Sample *sound_sample_last;
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- WRN("Unable to open \"%s\" for writing output", ed->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
snprintf(sample, sizeof(sample), "edje/sounds/%i", sound_sample->id);
if (eet_delete(eetf, sample) <= 0)
{
WRN("Unable to delete \"%s\" sound", sample);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
if (!_delete_play_actions(obj, name, EDJE_ACTION_TYPE_SOUND_SAMPLE, eetf))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
if (!_edje_edit_edje_file_save(eetf, ed->file))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
}
GET_EED_OR_RETURN(EINA_FALSE);
{
Eet_File *eetf;
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- WRN("Unable to open file \"%s\" for writing output", ed->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
_edje_if_string_free(ed, &sound_tone->name);
--ed->file->sound_dir->tones_count;
if (!_delete_play_actions(obj, name, EDJE_ACTION_TYPE_SOUND_TONE, eetf))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
if (!_edje_edit_edje_file_save(eetf, ed->file))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
}
GET_EED_OR_RETURN(EINA_FALSE);
sample = &ed->file->sound_dir->samples[i];
if (!strcmp(sample->name, sample_name))
{
- ef = eet_mmap(ed->file->f);
+ ef = _edje_edit_eet_open(ed, EET_FILE_MODE_READ);
if (!ef)
- {
- ERR("Cannot open edje file '%s' for samples", ed->path);
- return NULL;
- }
+ return NULL;
snprintf(snd_id_str, sizeof(snd_id_str), "edje/sounds/%i", sample->id);
data = eet_read_direct(ef, snd_id_str, &len);
if (len <= 0)
{
ERR("Sample from edj file '%s' has 0 length", ed->path);
- eet_close(ef);
+ _edje_edit_eet_close(ef);
return NULL;
}
- eet_close(ef);
+ _edje_edit_eet_close(ef);
return eina_binbuf_manage_new(data, len, EINA_TRUE);
}
}
if (eina_hash_find(ed->file->collection, copy_name))
return EINA_FALSE;
- eetf = eet_open(ed->file->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Edje_Edit: Error. unable to open \"%s\" "
- "for writing output", ed->file->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
+
snprintf(buf, sizeof(buf), "edje/collections/%d", e->id);
epc = eet_data_read(eetf, _edje_edd_edje_part_collection, buf);
if (!epc)
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
de = _alloc(sizeof(Edje_Part_Collection_Directory_Entry));
if (!de)
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
_edje_edit_edje_file_save(eetf, ed->file);
_edje_collection_free(ed->file, epc, de);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_TRUE;
}
}
/* Remove collection/id from eet file */
- eetf = eet_open(ed->file->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Edje_Edit: Error. unable to open \"%s\" "
- "for writing output", ed->file->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
+
snprintf(buf, sizeof(buf), "edje/collections/%d", e->id);
eet_delete(eetf, buf);
snprintf(buf, sizeof(buf), "edje/scripts/embryo/compiled/%d", e->id);
while (count);
free(keys);
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
l = NULL; g = NULL;
/* Free Group and all it's Aliases */
Eet_File *eetf;
/* open the eet file */
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Unable to open \"%s\" for writing output", ed->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
snprintf(entry, sizeof(entry), "edje/fonts/%s", alias);
if (eet_delete(eetf, entry) <= 0)
{
ERR("Unable to delete \"%s\" font entry", entry);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
/* write the edje_file */
if (!_edje_edit_edje_file_save(eetf, ed->file))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
}
eina_hash_del(ed->file->fonts, alias, fnt);
--ed->file->image_dir->sets_count;
/* open the eet file */
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Unable to open \"%s\" for writing output", ed->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
if (de_last->id != de->id)
{
}
if (!_edje_edit_collection_save(eetf, pce->ref))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
}
sizeof(Edje_Image_Directory_Set_Entry) *
ed->file->image_dir->sets_count);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_TRUE;
}
it = eina_hash_iterator_data_new(ed->file->collection);
/* open the eet file */
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
{
- ERR("Unable to open \"%s\" for writing output", ed->path);
eina_iterator_free(it);
return EINA_FALSE;
}
}
if (!_edje_edit_collection_save(eetf, pce->ref))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
eina_iterator_free(it);
return EINA_FALSE;
}
}
eina_iterator_free(it);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_TRUE;
}
int size = 0;
/* open the eet file */
- eetf = eet_open(ed->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Unable to open \"%s\" for writing output", ed->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
snprintf(entry, sizeof(entry), "edje/images/%i", de->id);
if (eet_delete(eetf, entry) <= 0)
{
ERR("Unable to delete \"%s\" font entry", entry);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
if (de_last->id != de->id)
}
if (!_edje_edit_collection_save(eetf, pce->ref))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
}
/* write the edje_file */
if (!_edje_edit_edje_file_save(eetf, ed->file))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
}
_edje_edit_flag_script_dirty(eed, EINA_TRUE);
obj = edje_edit_object_add(ed->base->evas);
if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE;
- ef = eet_open(ed->file->path, EET_FILE_MODE_READ);
+ ef = _edje_edit_eet_open(ed, EET_FILE_MODE_READ);
if (!ef)
{
evas_object_del(obj);
return EINA_FALSE;
}
- eet_close(ef);
+ _edje_edit_eet_close(ef);
evas_object_del(obj);
return ret;
}
INF("** path: %s", ef->path);
/* Open the eet file */
- eetf = eet_open(ef->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
- {
- ERR("Error. unable to open \"%s\" for writing output",
- ef->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
/* Set compiler name */
if (strcmp(ef->compiler, "edje_edit"))
if (!_edje_edit_edje_file_save(eetf, ef))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
"[id: %d]", ed->collection->id);
if (!_edje_edit_collection_save(eetf, ed->collection))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
}
"[id: %d]", edc->id);
if (!_edje_edit_collection_save(eetf, edc))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
}
"[id: %d]", ce->id);
if (!_edje_edit_collection_save(eetf, ce->ref))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
}
if (generate_source)
if (!_edje_edit_source_save(eetf, obj))
{
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
/* Update mtime */
{
new_file_name);
return EINA_FALSE;
}
- ef = eet_open(ed->file->path, EET_FILE_MODE_READ);
+ ef = _edje_edit_eet_open(ed, EET_FILE_MODE_READ);
if (!ef)
- {
- ERR("Error. unable to open \"%s\" for reading",
- ed->file->path);
- return EINA_FALSE;
- }
+ return EINA_FALSE;
ef_out = eet_open(new_file_name, EET_FILE_MODE_WRITE);
if (!ef_out)
{
ERR("Error. unable to open \"%s\" for writing output",
new_file_name);
- eet_close(ef);
+ _edje_edit_eet_close(ef);
return EINA_FALSE;
}
/* copying file structure */
if (!_edje_edit_edje_file_save(ef_out, ed->file))
{
- eet_close(ef);
+ _edje_edit_eet_close(ef);
eet_close(ef_out);
return EINA_FALSE;
}
/* generating source code */
_edje_edit_source_save(ef_out, obj);
- eet_close(ef);
+ _edje_edit_eet_close(ef);
eet_close(ef_out);
return EINA_TRUE;
return EINA_FALSE;
}
sfl->list = NULL;
- eetf = eet_open(ed->file->path, EET_FILE_MODE_READ_WRITE);
+ eetf = _edje_edit_eet_open(ed, EET_FILE_MODE_READ_WRITE);
if (!eetf)
{
- ERR("Error. Unable to open \"%s\" for cleaning source", ed->file->path);
free(sfl);
return EINA_FALSE;
}
{
ERR("Unable to clean edc source from edj file");
free(sfl);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_FALSE;
}
free(sfl);
- eet_close(eetf);
+ _edje_edit_eet_close(eetf);
return EINA_TRUE;
}