diff options
Diffstat (limited to 'src/bin/edje/edje_codegen.c')
-rw-r--r-- | src/bin/edje/edje_codegen.c | 1084 |
1 files changed, 545 insertions, 539 deletions
diff --git a/src/bin/edje/edje_codegen.c b/src/bin/edje/edje_codegen.c index 0b2412fa37..cbca138429 100644 --- a/src/bin/edje/edje_codegen.c +++ b/src/bin/edje/edje_codegen.c @@ -19,8 +19,8 @@ #include "Edje_Edit.h" static int _log_dom; -#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__) -#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__) +#define DBG(...) EINA_LOG_DOM_DBG(_log_dom, __VA_ARGS__) +#define ERR(...) EINA_LOG_DOM_ERR(_log_dom, __VA_ARGS__) static Ecore_Evas *ee = NULL; static char *file = NULL; @@ -30,31 +30,31 @@ static FILE *source_fd = NULL; static FILE *header_fd = NULL; static Eina_List *externals = NULL; -#define H_HEADER \ - "#ifndef _%s\n" \ - "#define _%s\n\n" \ - "#include <Edje.h>\n" \ - "#include <Evas.h>\n\n" \ +#define H_HEADER \ + "#ifndef _%s\n" \ + "#define _%s\n\n" \ + "#include <Edje.h>\n" \ + "#include <Evas.h>\n\n" \ "#include <stdlib.h>\n\n" -#define H_FOOTER \ +#define H_FOOTER \ "\n#endif /* _%s */\n" -#define C_HEADER \ +#define C_HEADER \ "#include \"%s\"\n\n" -#define C_CODEGEN_OBJECT_ADD \ - "Evas_Object *\n" \ - "%s_object_add(Evas *e, const char *file)\n" \ - "{\n" \ - " Evas_Object *o;\n\n" \ - " o = edje_object_add(e);\n" \ - " if (!o) return NULL;\n\n" \ - " if (file)\n" \ - " edje_object_file_set(o, file, \"%s\");\n" \ - " else\n" \ - " edje_object_file_set(o, \"%s\", \"%s\");\n\n" \ - " return o;\n" \ +#define C_CODEGEN_OBJECT_ADD \ + "Evas_Object *\n" \ + "%s_object_add(Evas *e, const char *file)\n" \ + "{\n" \ + " Evas_Object *o;\n\n" \ + " o = edje_object_add(e);\n" \ + " if (!o) return NULL;\n\n" \ + " if (file)\n" \ + " edje_object_file_set(o, file, \"%s\");\n" \ + " else\n" \ + " edje_object_file_set(o, \"%s\", \"%s\");\n\n" \ + " return o;\n" \ "}\n\n" #define H_CODEGEN_OBJECT_ADD \ @@ -64,118 +64,118 @@ static Eina_List *externals = NULL; " * to edje_codegen\n */\n" \ "Evas_Object *%s_object_add(Evas *e, const char *file);\n\n" -#define C_CODEGEN_DRAG_SET(option) \ - "Eina_Bool\n" \ - "%s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy)\n" \ - "{\n" \ - " return edje_object_part_drag_"#option"_set(o, \"%s\", dx, dy);\n" \ - "}\n\n" - -#define H_CODEGEN_DRAG_SET(option) \ - "Eina_Bool %s_%s_drag_"#option"_set(Evas_Object *o, double dx, double dy);\n" - -#define C_CODEGEN_DRAG_GET(option) \ - "Eina_Bool\n" \ - "%s_%s_drag_"#option"_get(Evas_Object *o, double *dx, double *dy)\n" \ - "{\n" \ - " return edje_object_part_drag_"#option"_get(o, \"%s\", dx, dy);\n" \ - "}\n\n" - -#define H_CODEGEN_DRAG_GET(option) \ - "Eina_Bool %s_%s_drag_"#option"_get(Evas_Object *o, double *dx" \ - ", double *dy);\n" - -#define C_CODEGEN_DRAG_ACTION(option) \ - "Eina_Bool\n" \ - "%s_%s_drag_"#option"(Evas_Object *o, double dx, double dy)\n" \ - "{\n" \ - " return edje_object_part_drag_"#option"(o, \"%s\", dx, dy);\n" \ - "}\n\n" - -#define H_CODEGEN_DRAG_ACTION(option) \ - "Eina_Bool %s_%s_drag_"#option"(Evas_Object *o, double dx, double dy);\n" - -#define C_CODEGEN_DRAG_DIR_GET \ - "Edje_Drag_Dir\n" \ - "%s_%s_drag_dir_get(Evas_Object *o)\n" \ - "{\n" \ - " return edje_object_part_drag_dir_get(o, \"%s\");\n" \ +#define C_CODEGEN_DRAG_SET(option) \ + "Eina_Bool\n" \ + "%s_%s_drag_" #option "_set(Evas_Object *o, double dx, double dy)\n" \ + "{\n" \ + " return edje_object_part_drag_" #option "_set(o, \"%s\", dx, dy);\n" \ + "}\n\n" + +#define H_CODEGEN_DRAG_SET(option) \ + "Eina_Bool %s_%s_drag_" #option "_set(Evas_Object *o, double dx, double dy);\n" + +#define C_CODEGEN_DRAG_GET(option) \ + "Eina_Bool\n" \ + "%s_%s_drag_" #option "_get(Evas_Object *o, double *dx, double *dy)\n" \ + "{\n" \ + " return edje_object_part_drag_" #option "_get(o, \"%s\", dx, dy);\n" \ + "}\n\n" + +#define H_CODEGEN_DRAG_GET(option) \ + "Eina_Bool %s_%s_drag_" #option "_get(Evas_Object *o, double *dx" \ + ", double *dy);\n" + +#define C_CODEGEN_DRAG_ACTION(option) \ + "Eina_Bool\n" \ + "%s_%s_drag_" #option "(Evas_Object *o, double dx, double dy)\n" \ + "{\n" \ + " return edje_object_part_drag_" #option "(o, \"%s\", dx, dy);\n" \ + "}\n\n" + +#define H_CODEGEN_DRAG_ACTION(option) \ + "Eina_Bool %s_%s_drag_" #option "(Evas_Object *o, double dx, double dy);\n" + +#define C_CODEGEN_DRAG_DIR_GET \ + "Edje_Drag_Dir\n" \ + "%s_%s_drag_dir_get(Evas_Object *o)\n" \ + "{\n" \ + " return edje_object_part_drag_dir_get(o, \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_DRAG_DIR_GET \ +#define H_CODEGEN_DRAG_DIR_GET \ "Edje_Drag_Dir %s_%s_drag_dir_get(Evas_Object *o);\n" -#define C_CODEGEN_PART_TEXT_SET \ - "void\n" \ - "%s_%s_set(Evas_Object *o, const char *value)\n" \ - "{\n" \ - " edje_object_part_text_set(o, \"%s\", value);\n" \ +#define C_CODEGEN_PART_TEXT_SET \ + "void\n" \ + "%s_%s_set(Evas_Object *o, const char *value)\n" \ + "{\n" \ + " edje_object_part_text_set(o, \"%s\", value);\n" \ "}\n\n" -#define H_CODEGEN_PART_TEXT_SET \ +#define H_CODEGEN_PART_TEXT_SET \ "void %s_%s_set(Evas_Object *o, const char *value);\n" -#define C_CODEGEN_PART_SWALLOW_SET \ - "void\n" \ - "%s_%s_set(Evas_Object *o, Evas_Object *value)\n" \ - "{\n" \ - " edje_object_part_swallow(o, \"%s\", value);\n" \ +#define C_CODEGEN_PART_SWALLOW_SET \ + "void\n" \ + "%s_%s_set(Evas_Object *o, Evas_Object *value)\n" \ + "{\n" \ + " edje_object_part_swallow(o, \"%s\", value);\n" \ "}\n\n" -#define H_CODEGEN_PART_SWALLOW_SET \ +#define H_CODEGEN_PART_SWALLOW_SET \ "void %s_%s_set(Evas_Object *o, Evas_Object *value);\n" -#define C_CODEGEN_PART_TEXT_GET \ - "const char *\n" \ - "%s_%s_get(const Evas_Object *o)\n" \ - "{\n" \ - " return edje_object_part_text_get(o, \"%s\");\n" \ +#define C_CODEGEN_PART_TEXT_GET \ + "const char *\n" \ + "%s_%s_get(const Evas_Object *o)\n" \ + "{\n" \ + " return edje_object_part_text_get(o, \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_PART_TEXT_GET \ +#define H_CODEGEN_PART_TEXT_GET \ "const char *%s_%s_get(const Evas_Object *o);\n" -#define C_CODEGEN_PART_SWALLOW_GET \ - "Evas_Object *\n" \ - "%s_%s_get(const Evas_Object *o)\n" \ - "{\n" \ - " return edje_object_part_swallow_get(o, \"%s\");\n" \ +#define C_CODEGEN_PART_SWALLOW_GET \ + "Evas_Object *\n" \ + "%s_%s_get(const Evas_Object *o)\n" \ + "{\n" \ + " return edje_object_part_swallow_get(o, \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_PART_SWALLOW_GET \ +#define H_CODEGEN_PART_SWALLOW_GET \ "Evas_Object *%s_%s_get(const Evas_Object *o);\n" -#define C_CODEGEN_PART_BOX_APPEND \ - "Eina_Bool\n" \ - "%s_%s_append(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_box_append(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_BOX_APPEND \ + "Eina_Bool\n" \ + "%s_%s_append(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_box_append(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_APPEND \ +#define H_CODEGEN_PART_BOX_APPEND \ "Eina_Bool %s_%s_append(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_BOX_PREPEND \ - "Eina_Bool\n" \ - "%s_%s_prepend(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_box_prepend(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_BOX_PREPEND \ + "Eina_Bool\n" \ + "%s_%s_prepend(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_box_prepend(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_PREPEND \ +#define H_CODEGEN_PART_BOX_PREPEND \ "Eina_Bool %s_%s_prepend(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_BOX_INSERT_BEFORE \ - "Eina_Bool\n" \ - "%s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ - "const Evas_Object *reference)\n" \ - "{\n" \ - " return edje_object_part_box_insert_before(o, \"%s\", " \ - "child, reference);\n" \ +#define C_CODEGEN_PART_BOX_INSERT_BEFORE \ + "Eina_Bool\n" \ + "%s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ + "const Evas_Object *reference)\n" \ + "{\n" \ + " return edje_object_part_box_insert_before(o, \"%s\", " \ + "child, reference);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_INSERT_BEFORE \ - "Eina_Bool %s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ +#define H_CODEGEN_PART_BOX_INSERT_BEFORE \ + "Eina_Bool %s_%s_insert_before(Evas_Object *o, Evas_Object *child, " \ "const Evas_Object *reference);\n" #define C_CODEGEN_PART_BOX_INSERT_AT \ @@ -185,38 +185,38 @@ static Eina_List *externals = NULL; " return edje_object_part_box_insert_at(o, \"%s\", child, pos);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_INSERT_AT \ - "Eina_Bool %s_%s_insert_at(Evas_Object *o, Evas_Object *child, " \ +#define H_CODEGEN_PART_BOX_INSERT_AT \ + "Eina_Bool %s_%s_insert_at(Evas_Object *o, Evas_Object *child, " \ "unsigned int pos);\n" -#define C_CODEGEN_PART_BOX_REMOVE \ - "Evas_Object *\n" \ - "%s_%s_remove(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_box_remove(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_BOX_REMOVE \ + "Evas_Object *\n" \ + "%s_%s_remove(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_box_remove(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_REMOVE \ +#define H_CODEGEN_PART_BOX_REMOVE \ "Evas_Object *%s_%s_remove(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_BOX_REMOVE_AT \ - "Evas_Object *\n" \ - "%s_%s_remove_at(Evas_Object *o, unsigned int pos)\n" \ - "{\n" \ - " return edje_object_part_box_remove_at(o, \"%s\", pos);\n" \ +#define C_CODEGEN_PART_BOX_REMOVE_AT \ + "Evas_Object *\n" \ + "%s_%s_remove_at(Evas_Object *o, unsigned int pos)\n" \ + "{\n" \ + " return edje_object_part_box_remove_at(o, \"%s\", pos);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_REMOVE_AT \ +#define H_CODEGEN_PART_BOX_REMOVE_AT \ "Evas_Object *%s_%s_remove_at(Evas_Object *o, unsigned int pos);\n" -#define C_CODEGEN_PART_BOX_REMOVE_ALL \ - "Eina_Bool\n" \ - "%s_%s_remove_all(Evas_Object *o, Eina_Bool clear)\n" \ - "{\n" \ - " return edje_object_part_box_remove_all(o, \"%s\", clear);\n" \ +#define C_CODEGEN_PART_BOX_REMOVE_ALL \ + "Eina_Bool\n" \ + "%s_%s_remove_all(Evas_Object *o, Eina_Bool clear)\n" \ + "{\n" \ + " return edje_object_part_box_remove_all(o, \"%s\", clear);\n" \ "}\n\n" -#define H_CODEGEN_PART_BOX_REMOVE_ALL \ +#define H_CODEGEN_PART_BOX_REMOVE_ALL \ "Eina_Bool %s_%s_remove_all(Evas_Object *o, Eina_Bool clear);\n" #define C_CODEGEN_PART_TABLE_CHILD_GET \ @@ -226,8 +226,8 @@ static Eina_List *externals = NULL; " return edje_object_part_table_child_get(o, \"%s\", col, row);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_CHILD_GET \ - "Evas_Object * %s_%s_child_get(Evas_Object *o, unsigned int col, " \ +#define H_CODEGEN_PART_TABLE_CHILD_GET \ + "Evas_Object * %s_%s_child_get(Evas_Object *o, unsigned int col, " \ "unsigned int row);\n" #define C_CODEGEN_PART_TABLE_PACK \ @@ -239,132 +239,132 @@ static Eina_List *externals = NULL; "colspan, rowspan);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_PACK \ - "Eina_Bool %s_%s_pack(Evas_Object *o, Evas_Object *child, " \ - "unsigned short col, unsigned short row, unsigned short " \ +#define H_CODEGEN_PART_TABLE_PACK \ + "Eina_Bool %s_%s_pack(Evas_Object *o, Evas_Object *child, " \ + "unsigned short col, unsigned short row, unsigned short " \ "colspan, unsigned short rowspan);\n" -#define C_CODEGEN_PART_TABLE_UNPACK \ - "Eina_Bool\n" \ - "%s_%s_unpack(Evas_Object *o, Evas_Object *child)\n" \ - "{\n" \ - " return edje_object_part_table_unpack(o, \"%s\", child);\n" \ +#define C_CODEGEN_PART_TABLE_UNPACK \ + "Eina_Bool\n" \ + "%s_%s_unpack(Evas_Object *o, Evas_Object *child)\n" \ + "{\n" \ + " return edje_object_part_table_unpack(o, \"%s\", child);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_UNPACK \ +#define H_CODEGEN_PART_TABLE_UNPACK \ "Eina_Bool %s_%s_unpack(Evas_Object *o, Evas_Object *child);\n" -#define C_CODEGEN_PART_TABLE_CLEAR \ - "Eina_Bool\n" \ - "%s_%s_clear(Evas_Object *o, Eina_Bool clear)\n" \ - "{\n" \ - " return edje_object_part_table_clear(o, \"%s\", clear);\n" \ +#define C_CODEGEN_PART_TABLE_CLEAR \ + "Eina_Bool\n" \ + "%s_%s_clear(Evas_Object *o, Eina_Bool clear)\n" \ + "{\n" \ + " return edje_object_part_table_clear(o, \"%s\", clear);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_CLEAR \ +#define H_CODEGEN_PART_TABLE_CLEAR \ "Eina_Bool %s_%s_clear(Evas_Object *o, Eina_Bool clear);\n" -#define C_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ - "Eina_Bool\n" \ - "%s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows)\n" \ - "{\n" \ - " return edje_object_part_table_col_row_size_get(o, \"%s\", " \ - "cols, rows);\n" \ +#define C_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ + "Eina_Bool\n" \ + "%s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows)\n" \ + "{\n" \ + " return edje_object_part_table_col_row_size_get(o, \"%s\", " \ + "cols, rows);\n" \ "}\n\n" -#define H_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ +#define H_CODEGEN_PART_TABLE_COL_ROW_SIZE_GET \ "Eina_Bool %s_%s_col_row_size_get(Evas_Object *o, int *cols, int *rows);\n" -#define C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field) \ - "Eina_Bool\n" \ - "%s_%s_%s_set(Evas_Object *o, "type"value)\n" \ - "{\n" \ - " Edje_External_Param param;\n\n" \ - " param.name = \"%s\";\n" \ - " param.type = "param_type";\n" \ - " param."field" = value;\n" \ - " return edje_object_part_external_param_set(o, \"%s\", ¶m);\n" \ - "}\n\n" - -#define H_CODEGEN_PART_EXTERNAL_PARAM_SET(type) \ - "Eina_Bool %s_%s_%s_set(Evas_Object *o, "type"value);\n" - -#define C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field) \ - "Eina_Bool\n" \ - "%s_%s_%s_get(Evas_Object *o, "type"*value)\n" \ - "{\n" \ - " if (!value) return EINA_FALSE;\n\n" \ - " Edje_External_Param param;\n\n" \ - " param.name = \"%s\";\n" \ - " param.type = "param_type";\n" \ - " if (!edje_object_part_external_param_get(o, \"%s\", ¶m))\n" \ - " return EINA_FALSE;\n\n" \ - " *value = param."field";\n" \ - " return EINA_TRUE;\n" \ +#define C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field) \ + "Eina_Bool\n" \ + "%s_%s_%s_set(Evas_Object *o, "type "value)\n" \ + "{\n" \ + " Edje_External_Param param;\n\n" \ + " param.name = \"%s\";\n" \ + " param.type = "param_type ";\n" \ + " param."field " = value;\n" \ + " return edje_object_part_external_param_set(o, \"%s\", ¶m);\n" \ + "}\n\n" + +#define H_CODEGEN_PART_EXTERNAL_PARAM_SET(type) \ + "Eina_Bool %s_%s_%s_set(Evas_Object *o, "type "value);\n" + +#define C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field) \ + "Eina_Bool\n" \ + "%s_%s_%s_get(Evas_Object *o, "type "*value)\n" \ + "{\n" \ + " if (!value) return EINA_FALSE;\n\n" \ + " Edje_External_Param param;\n\n" \ + " param.name = \"%s\";\n" \ + " param.type = "param_type ";\n" \ + " if (!edje_object_part_external_param_get(o, \"%s\", ¶m))\n" \ + " return EINA_FALSE;\n\n" \ + " *value = param."field ";\n" \ + " return EINA_TRUE;\n" \ + "}\n\n" + +#define H_CODEGEN_PART_EXTERNAL_PARAM_GET(type) \ + "Eina_Bool %s_%s_%s_get(Evas_Object *o, "type "*value);\n" + +#define C_CODEGEN_PROGRAM_EMIT \ + "void\n" \ + "%s_%s_emit(Evas_Object *o)\n" \ + "{\n" \ + " edje_object_signal_emit(o, \"%s\", \"%s\");\n" \ "}\n\n" -#define H_CODEGEN_PART_EXTERNAL_PARAM_GET(type) \ - "Eina_Bool %s_%s_%s_get(Evas_Object *o, "type"*value);\n" - -#define C_CODEGEN_PROGRAM_EMIT \ - "void\n" \ - "%s_%s_emit(Evas_Object *o)\n" \ - "{\n" \ - " edje_object_signal_emit(o, \"%s\", \"%s\");\n" \ - "}\n\n" - -#define H_CODEGEN_PROGRAM_EMIT \ +#define H_CODEGEN_PROGRAM_EMIT \ "void %s_%s_emit(Evas_Object *o);\n" -#define C_CODEGEN_PROGRAM_CALLBACK_ADD \ - "void\n" \ - "%s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ - "{\n" \ - " edje_object_signal_callback_add(o, \"%s\", \"%s\", func, data);\n" \ +#define C_CODEGEN_PROGRAM_CALLBACK_ADD \ + "void\n" \ + "%s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ + "{\n" \ + " edje_object_signal_callback_add(o, \"%s\", \"%s\", func, data);\n" \ "}\n\n" -#define H_CODEGEN_PROGRAM_CALLBACK_ADD \ - "void %s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, " \ +#define H_CODEGEN_PROGRAM_CALLBACK_ADD \ + "void %s_%s_callback_add(Evas_Object *o, Edje_Signal_Cb func, " \ "void *data);\n" -#define C_CODEGEN_PROGRAM_CALLBACK_DEL \ - "void\n" \ - "%s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ - "{\n" \ - " edje_object_signal_callback_del_full(o, \"%s\", \"%s\", func, data);\n" \ +#define C_CODEGEN_PROGRAM_CALLBACK_DEL \ + "void\n" \ + "%s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, void *data)\n" \ + "{\n" \ + " edje_object_signal_callback_del_full(o, \"%s\", \"%s\", func, data);\n" \ "}\n\n" -#define H_CODEGEN_PROGRAM_CALLBACK_DEL \ - "void %s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, " \ +#define H_CODEGEN_PROGRAM_CALLBACK_DEL \ + "void %s_%s_callback_del_full(Evas_Object *o, Edje_Signal_Cb func, " \ "void *data);\n" - typedef struct _Part_External_Info Part_External_Info; -struct _Part_External_Info { - const char *description, *name, *source; - char *apiname; - Eina_Bool draggable; +struct _Part_External_Info +{ + const char *description, *name, *source; + char *apiname; + Eina_Bool draggable; }; const Ecore_Getopt optdesc = { - "edje_codegen", - "%prog [options] <file.edj> <group> <source_file_name> <header_file_name>", - PACKAGE_VERSION, - "(C) 2012 - The Enlightenment Project", - "BSD", - "Edje generates the boilerplate code to get and set the " - "parts of a group from a compiled (binary) edje " - "file avoiding common errors with typos.\n", - 0, - { - ECORE_GETOPT_STORE_STR('p', "prefix", "The prefix for the " \ - "generataed code."), - ECORE_GETOPT_LICENSE('L', "license"), - ECORE_GETOPT_COPYRIGHT('C', "copyright"), - ECORE_GETOPT_VERSION('V', "version"), - ECORE_GETOPT_HELP('h', "help"), - ECORE_GETOPT_SENTINEL - } + "edje_codegen", + "%prog [options] <file.edj> <group> <source_file_name> <header_file_name>", + PACKAGE_VERSION, + "(C) 2012 - The Enlightenment Project", + "BSD", + "Edje generates the boilerplate code to get and set the " + "parts of a group from a compiled (binary) edje " + "file avoiding common errors with typos.\n", + 0, + { + ECORE_GETOPT_STORE_STR('p', "prefix", "The prefix for the " \ + "generataed code."), + ECORE_GETOPT_LICENSE('L', "license"), + ECORE_GETOPT_COPYRIGHT('C', "copyright"), + ECORE_GETOPT_VERSION('V', "version"), + ECORE_GETOPT_HELP('h', "help"), + ECORE_GETOPT_SENTINEL + } }; static char * @@ -397,7 +397,7 @@ _open_file_descriptors(const char *source, const char *header) return EINA_TRUE; - err: +err: fclose(header_fd); return EINA_FALSE; } @@ -426,15 +426,15 @@ _write_headers(const char *filename) snprintf(buf, sizeof(buf), H_HEADER, str, str); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) { - free(str); - return EINA_FALSE; + free(str); + return EINA_FALSE; } free(str); snprintf(buf, sizeof(buf), C_HEADER, filename); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) - return EINA_FALSE; + return EINA_FALSE; return EINA_TRUE; } @@ -449,8 +449,8 @@ _write_footer(const char *filename) snprintf(buf, sizeof(buf), H_FOOTER, str); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) { - free(str); - return EINA_FALSE; + free(str); + return EINA_FALSE; } free(str); @@ -479,20 +479,20 @@ _write_part_draggable(const char *apiname, const char *partname) { char buf[1024]; -#define TEMPLATE_DRAGGABLE(sufix, option) \ - do { \ - const char *template; \ - template = C_CODEGEN_DRAG_##sufix(option); \ - snprintf(buf, sizeof(buf), template, prefix, apiname, \ - partname); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - return EINA_FALSE; \ - template = H_CODEGEN_DRAG_##sufix(option); \ - snprintf(buf, sizeof(buf), template, prefix, \ - apiname); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - return EINA_FALSE; \ - } while (0) +#define TEMPLATE_DRAGGABLE(sufix, option) \ + do { \ + const char *template; \ + template = C_CODEGEN_DRAG_##sufix(option); \ + snprintf(buf, sizeof(buf), template, prefix, apiname, \ + partname); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + return EINA_FALSE; \ + template = H_CODEGEN_DRAG_##sufix(option); \ + snprintf(buf, sizeof(buf), template, prefix, \ + apiname); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + return EINA_FALSE; \ + } while (0) TEMPLATE_DRAGGABLE(SET, value); TEMPLATE_DRAGGABLE(GET, value); @@ -508,7 +508,7 @@ _write_part_draggable(const char *apiname, const char *partname) #undef TEMPLATE_DRAGGABLE snprintf(buf, sizeof(buf), C_CODEGEN_DRAG_DIR_GET, prefix, - apiname, partname); + apiname, partname); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) return EINA_FALSE; snprintf(buf, sizeof(buf), H_CODEGEN_DRAG_DIR_GET, prefix, apiname); @@ -520,55 +520,60 @@ _write_part_draggable(const char *apiname, const char *partname) static Eina_Bool _write_part_external_param(const Part_External_Info *info, - const Edje_External_Param_Info *param) + const Edje_External_Param_Info *param) { const char *template; char buf[1024]; -#define WRITE_TEMPLATE(type, param_type, field) \ - do { \ - template = C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name, param->name, info->name); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - return EINA_FALSE; \ - template = H_CODEGEN_PART_EXTERNAL_PARAM_SET(type); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - return EINA_FALSE; \ - template = \ - C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name, param->name, info->name); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - return EINA_FALSE; \ - template = H_CODEGEN_PART_EXTERNAL_PARAM_GET(type); \ - snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ - param->name); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - return EINA_FALSE; \ - } while (0) +#define WRITE_TEMPLATE(type, param_type, field) \ + do { \ + template = C_CODEGEN_PART_EXTERNAL_PARAM_SET(type, param_type, field); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name, param->name, info->name); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + return EINA_FALSE; \ + template = H_CODEGEN_PART_EXTERNAL_PARAM_SET(type); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + return EINA_FALSE; \ + template = \ + C_CODEGEN_PART_EXTERNAL_PARAM_GET(type, param_type, field); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name, param->name, info->name); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + return EINA_FALSE; \ + template = H_CODEGEN_PART_EXTERNAL_PARAM_GET(type); \ + snprintf(buf, sizeof(buf), template, info->apiname, info->name, \ + param->name); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + return EINA_FALSE; \ + } while (0) switch (param->type) { case EDJE_EXTERNAL_PARAM_TYPE_INT: - WRITE_TEMPLATE("int ", "EDJE_EXTERNAL_PARAM_TYPE_INT", "i"); - break; + WRITE_TEMPLATE("int ", "EDJE_EXTERNAL_PARAM_TYPE_INT", "i"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: - WRITE_TEMPLATE("double ", "EDJE_EXTERNAL_PARAM_TYPE_DOUBLE", "d"); - break; + WRITE_TEMPLATE("double ", "EDJE_EXTERNAL_PARAM_TYPE_DOUBLE", "d"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_STRING: - WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_STRING", "s"); - break; + WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_STRING", "s"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_BOOL: - WRITE_TEMPLATE("Eina_Bool ", "EDJE_EXTERNAL_PARAM_TYPE_BOOL", "i"); - break; + WRITE_TEMPLATE("Eina_Bool ", "EDJE_EXTERNAL_PARAM_TYPE_BOOL", "i"); + break; + case EDJE_EXTERNAL_PARAM_TYPE_CHOICE: - WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_CHOICE", "s"); - break; + WRITE_TEMPLATE("const char *", "EDJE_EXTERNAL_PARAM_TYPE_CHOICE", "s"); + break; + default: - break; + break; } #undef WRITE_TEMPLATE @@ -606,49 +611,48 @@ _write_part_external(Eina_List **parts) continue; } - EINA_LIST_FOREACH_SAFE(*parts, l, l_next, ei) - { - if (!strcmp(ei->source, name)) - { - if (ei->description) - { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", - ei->description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - { - ret = EINA_FALSE; - goto end; - } - } + EINA_LIST_FOREACH_SAFE(*parts, l, l_next, ei) + { + if (!strcmp(ei->source, name)) + { + if (ei->description) + { + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", + ei->description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + { + ret = EINA_FALSE; + goto end; + } + } if (ei->draggable) { - if (!_write_part_draggable(ei->apiname, ei->name)) - { - ret = EINA_FALSE; - goto end; - } + if (!_write_part_draggable(ei->apiname, ei->name)) + { + ret = EINA_FALSE; + goto end; + } } - for (param = type->parameters_info; param->name != NULL; - param++) - if (!_write_part_external_param(ei, param)) - { - ret = EINA_FALSE; - goto end; - } + for (param = type->parameters_info; param->name != NULL; + param++) + if (!_write_part_external_param(ei, param)) + { + ret = EINA_FALSE; + goto end; + } - edje_edit_string_free(ei->description); - free(ei->apiname); - free(ei); + edje_edit_string_free(ei->description); + free(ei->apiname); + free(ei); - *parts = eina_list_remove_list(*parts, l); - - } - } + *parts = eina_list_remove_list(*parts, l); + } + } } - end: +end: if (eina_list_count(*parts) == 0) *parts = NULL; eina_iterator_free(itr); @@ -661,57 +665,57 @@ _write_part(const char *apiname, const char *partname, Edje_Part_Type parttype, { char buf[512]; -#define TEMPLATE_NAME(sufix) \ - do { \ - snprintf(buf, sizeof(buf), C_CODEGEN_##sufix, prefix, \ - apiname, partname); \ - if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ - goto err; \ - snprintf(buf, sizeof(buf), H_CODEGEN_##sufix, prefix, \ - apiname); \ - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ - goto err; \ - } while (0) +#define TEMPLATE_NAME(sufix) \ + do { \ + snprintf(buf, sizeof(buf), C_CODEGEN_##sufix, prefix, \ + apiname, partname); \ + if (fwrite(buf, strlen(buf), 1, source_fd) != 1) \ + goto err; \ + snprintf(buf, sizeof(buf), H_CODEGEN_##sufix, prefix, \ + apiname); \ + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) \ + goto err; \ + } while (0) if (description) { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - goto err; + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + goto err; } switch (parttype) { case EDJE_PART_TYPE_BOX: - TEMPLATE_NAME(PART_BOX_APPEND); - TEMPLATE_NAME(PART_BOX_PREPEND); - TEMPLATE_NAME(PART_BOX_INSERT_BEFORE); - TEMPLATE_NAME(PART_BOX_INSERT_AT); - TEMPLATE_NAME(PART_BOX_REMOVE); - TEMPLATE_NAME(PART_BOX_REMOVE_AT); - TEMPLATE_NAME(PART_BOX_REMOVE_ALL); - break; + TEMPLATE_NAME(PART_BOX_APPEND); + TEMPLATE_NAME(PART_BOX_PREPEND); + TEMPLATE_NAME(PART_BOX_INSERT_BEFORE); + TEMPLATE_NAME(PART_BOX_INSERT_AT); + TEMPLATE_NAME(PART_BOX_REMOVE); + TEMPLATE_NAME(PART_BOX_REMOVE_AT); + TEMPLATE_NAME(PART_BOX_REMOVE_ALL); + break; case EDJE_PART_TYPE_TABLE: - TEMPLATE_NAME(PART_TABLE_PACK); - TEMPLATE_NAME(PART_TABLE_UNPACK); - TEMPLATE_NAME(PART_TABLE_CHILD_GET); - TEMPLATE_NAME(PART_TABLE_CLEAR); - TEMPLATE_NAME(PART_TABLE_COL_ROW_SIZE_GET); - break; + TEMPLATE_NAME(PART_TABLE_PACK); + TEMPLATE_NAME(PART_TABLE_UNPACK); + TEMPLATE_NAME(PART_TABLE_CHILD_GET); + TEMPLATE_NAME(PART_TABLE_CLEAR); + TEMPLATE_NAME(PART_TABLE_COL_ROW_SIZE_GET); + break; case EDJE_PART_TYPE_TEXT: - TEMPLATE_NAME(PART_TEXT_SET); - TEMPLATE_NAME(PART_TEXT_GET); - break; + TEMPLATE_NAME(PART_TEXT_SET); + TEMPLATE_NAME(PART_TEXT_GET); + break; case EDJE_PART_TYPE_SWALLOW: - TEMPLATE_NAME(PART_SWALLOW_SET); - TEMPLATE_NAME(PART_SWALLOW_GET); - break; + TEMPLATE_NAME(PART_SWALLOW_SET); + TEMPLATE_NAME(PART_SWALLOW_GET); + break; default: - break; + break; } if (draggable) @@ -722,7 +726,7 @@ _write_part(const char *apiname, const char *partname, Edje_Part_Type parttype, return EINA_TRUE; - err: +err: ERR("Could not write the part: %s", partname); return EINA_FALSE; } @@ -783,71 +787,71 @@ _parse_parts(Evas_Object *ed) parts = edje_edit_parts_list_get(ed); EINA_LIST_FOREACH(parts, l, name) { - if (!(apiname = _part_api_name_get(ed, name))) - { - DBG("filter out part '%s': not API.", name); - continue; - } - - type = edje_edit_part_type_get(ed, name); - if (!((type == EDJE_PART_TYPE_TEXT) || - (type == EDJE_PART_TYPE_SWALLOW) || - (type == EDJE_PART_TYPE_BOX) || - (type == EDJE_PART_TYPE_EXTERNAL) || - (type == EDJE_PART_TYPE_IMAGE) || - (type == EDJE_PART_TYPE_TABLE))) - { - ERR("Invalid part type %d", type); - free(apiname); - continue; - } + if (!(apiname = _part_api_name_get(ed, name))) + { + DBG("filter out part '%s': not API.", name); + continue; + } + + type = edje_edit_part_type_get(ed, name); + if (!((type == EDJE_PART_TYPE_TEXT) || + (type == EDJE_PART_TYPE_SWALLOW) || + (type == EDJE_PART_TYPE_BOX) || + (type == EDJE_PART_TYPE_EXTERNAL) || + (type == EDJE_PART_TYPE_IMAGE) || + (type == EDJE_PART_TYPE_TABLE))) + { + ERR("Invalid part type %d", type); + free(apiname); + continue; + } if (edje_edit_part_drag_x_get(ed, name) || edje_edit_part_drag_y_get(ed, name)) - draggable = EINA_TRUE; + draggable = EINA_TRUE; else - draggable = EINA_FALSE; + draggable = EINA_FALSE; - description = edje_edit_part_api_description_get(ed, name); - if (type == EDJE_PART_TYPE_EXTERNAL) - { - ei = calloc(1, sizeof(Part_External_Info)); - if (!ei) + description = edje_edit_part_api_description_get(ed, name); + if (type == EDJE_PART_TYPE_EXTERNAL) + { + ei = calloc(1, sizeof(Part_External_Info)); + if (!ei) { free(apiname); goto end; } - ei->description = description; - ei->source = edje_edit_part_source_get(ed, name); - ei->apiname = apiname; - ei->name = name; - ei->draggable = draggable; - - parts_external = eina_list_append(parts_external, ei); - } - else - { - if (!_write_part(apiname, name, type, description, draggable)) - { - ret = EINA_FALSE; - edje_edit_string_free(description); - free(apiname); - goto end; - } - - edje_edit_string_free(description); - free(apiname); - } + ei->description = description; + ei->source = edje_edit_part_source_get(ed, name); + ei->apiname = apiname; + ei->name = name; + ei->draggable = draggable; + + parts_external = eina_list_append(parts_external, ei); + } + else + { + if (!_write_part(apiname, name, type, description, draggable)) + { + ret = EINA_FALSE; + edje_edit_string_free(description); + free(apiname); + goto end; + } + + edje_edit_string_free(description); + free(apiname); + } } ret = _write_part_external(&parts_external); - end: +end: edje_edit_string_list_free(parts); EINA_LIST_FREE(parts_external, ei) { - edje_edit_string_free(ei->description); - free(ei->apiname); - free(ei); + edje_edit_string_free(ei->description); + free(ei->apiname); + free(ei); } return ret; @@ -855,70 +859,70 @@ _parse_parts(Evas_Object *ed) static Eina_Bool _write_program_emit(const char *apiname, const char *source, const char *sig, - const char *description) + const char *description) { char buf[512]; snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_EMIT, prefix, - apiname, sig, source); + apiname, sig, source); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) goto err; if (description) { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - goto err; + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + goto err; } snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_EMIT, prefix, - apiname); + apiname); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) goto err; return EINA_TRUE; - err: +err: ERR("Could not write the program: %s", apiname); return EINA_FALSE; } static Eina_Bool _write_program_add(const char *apiname, const char *source, const char *sig, - const char *description) + const char *description) { - char buf[512]; + char buf[512]; snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_ADD, prefix, - apiname, sig, source); + apiname, sig, source); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) goto err; snprintf(buf, sizeof(buf), C_CODEGEN_PROGRAM_CALLBACK_DEL, prefix, - apiname, sig, source); + apiname, sig, source); if (fwrite(buf, strlen(buf), 1, source_fd) != 1) goto err; if (description) { - snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); - if (fwrite(buf, strlen(buf), 1, header_fd) != 1) - goto err; + snprintf(buf, sizeof(buf), "\n/**\n * @brief %s\n */\n", description); + if (fwrite(buf, strlen(buf), 1, header_fd) != 1) + goto err; } snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_ADD, prefix, - apiname); + apiname); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) goto err; snprintf(buf, sizeof(buf), H_CODEGEN_PROGRAM_CALLBACK_DEL, prefix, - apiname); + apiname); if (fwrite(buf, strlen(buf), 1, header_fd) != 1) goto err; return EINA_TRUE; - err: +err: ERR("Could not write the program [action]: %s", apiname); return EINA_FALSE; } @@ -948,68 +952,68 @@ _parse_programs(Evas_Object *ed) programs = edje_edit_programs_list_get(ed); EINA_LIST_FOREACH(programs, l, name) { - if (!(apiname = _program_api_name_get(ed, name))) - { - DBG("filter out program '%s': not API.", name); - continue; - } - - description = edje_edit_program_api_description_get(ed, name); - type = edje_edit_program_action_get(ed, name); - if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT) - { - const char *str, *str2; - str = edje_edit_program_state_get(ed, name); - str2 = edje_edit_program_state2_get(ed, name); - - if (!_write_program_add(apiname, str2, str, description)) - { - ret = EINA_FALSE; - edje_edit_string_free(str); - edje_edit_string_free(str2); - break; - } - - edje_edit_string_free(str); - edje_edit_string_free(str2); - } - - sig = edje_edit_program_signal_get(ed, name); - if (!sig) - { - free(apiname); - edje_edit_string_free(description); - continue; - } - - source = edje_edit_program_source_get(ed, name); - if (!source) - { - free(apiname); - edje_edit_string_free(sig); - edje_edit_string_free(description); - continue; - } - - if (!_write_program_emit(apiname, source, sig, description)) - { - ret = EINA_FALSE; - break; - } - - edje_edit_string_free(description); - edje_edit_string_free(sig); - edje_edit_string_free(source); - free(apiname); + if (!(apiname = _program_api_name_get(ed, name))) + { + DBG("filter out program '%s': not API.", name); + continue; + } + + description = edje_edit_program_api_description_get(ed, name); + type = edje_edit_program_action_get(ed, name); + if (type == EDJE_ACTION_TYPE_SIGNAL_EMIT) + { + const char *str, *str2; + str = edje_edit_program_state_get(ed, name); + str2 = edje_edit_program_state2_get(ed, name); + + if (!_write_program_add(apiname, str2, str, description)) + { + ret = EINA_FALSE; + edje_edit_string_free(str); + edje_edit_string_free(str2); + break; + } + + edje_edit_string_free(str); + edje_edit_string_free(str2); + } + + sig = edje_edit_program_signal_get(ed, name); + if (!sig) + { + free(apiname); + edje_edit_string_free(description); + continue; + } + + source = edje_edit_program_source_get(ed, name); + if (!source) + { + free(apiname); + edje_edit_string_free(sig); + edje_edit_string_free(description); + continue; + } + + if (!_write_program_emit(apiname, source, sig, description)) + { + ret = EINA_FALSE; + break; + } + + edje_edit_string_free(description); + edje_edit_string_free(sig); + edje_edit_string_free(source); + free(apiname); } edje_edit_string_list_free(programs); if (!ret) { - edje_edit_string_free(description); - edje_edit_string_free(sig); - edje_edit_string_free(source); - free(apiname); + edje_edit_string_free(description); + edje_edit_string_free(sig); + edje_edit_string_free(source); + free(apiname); } return ret; @@ -1023,8 +1027,8 @@ _module_matches(const char *module) EINA_LIST_FOREACH(externals, l, name) { - if (!strcmp(module, name)) - return EINA_TRUE; + if (!strcmp(module, name)) + return EINA_TRUE; } return EINA_FALSE; @@ -1043,36 +1047,36 @@ _parse(void) ed = edje_edit_object_add(ecore_evas_get(ee)); if (!edje_object_file_set(ed, file, group)) { - Edje_Load_Error err = edje_object_load_error_get(ed); - const char *errmsg = edje_load_error_str(err); - ERR("could not load group '%s' from file '%s': %s", - group, file, errmsg); - evas_object_del(ed); - return EINA_FALSE; + Edje_Load_Error err = edje_object_load_error_get(ed); + const char *errmsg = edje_load_error_str(err); + ERR("could not load group '%s' from file '%s': %s", + group, file, errmsg); + evas_object_del(ed); + return EINA_FALSE; } externals = edje_edit_externals_list_get(ed); if (externals) { - EINA_LIST_FOREACH(modules_available, l, module_name) - { - if (_module_matches(module_name)) - { - if (!edje_module_load(module_name)) - { - ERR("error loading external '%s'", module_name); - continue; - } - modules_loaded++; - } - } + EINA_LIST_FOREACH(modules_available, l, module_name) + { + if (_module_matches(module_name)) + { + if (!edje_module_load(module_name)) + { + ERR("error loading external '%s'", module_name); + continue; + } + modules_loaded++; + } + } } if (eina_list_count(externals) != modules_loaded) { - edje_edit_string_list_free(externals); - evas_object_del(ed); - return EINA_FALSE; + edje_edit_string_list_free(externals); + evas_object_del(ed); + return EINA_FALSE; } ret = _parse_parts(ed) && _parse_programs(ed); @@ -1088,12 +1092,12 @@ main(int argc, char *argv[]) char *source, *header; int arg_index, ret = 0; Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_STR(prefix), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_BOOL(quit_option), - ECORE_GETOPT_VALUE_NONE + ECORE_GETOPT_VALUE_STR(prefix), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_BOOL(quit_option), + ECORE_GETOPT_VALUE_NONE }; setlocale(LC_NUMERIC, "C"); @@ -1109,7 +1113,7 @@ main(int argc, char *argv[]) { fprintf(stderr, "Missing action. See '--help or -h'.\n"); ret = 1; - goto error_log; + goto error_log; } _log_dom = eina_log_domain_register("edje_codegen", EINA_COLOR_YELLOW); @@ -1127,13 +1131,14 @@ main(int argc, char *argv[]) ret = 1; goto error_getopt; } - else if (quit_option) goto error_getopt; + else if (quit_option) + goto error_getopt; else if (arg_index != argc - 4) { - fprintf(stderr, "Incorrect number of parameters. Requires " \ - "fours arguments, an edje, the group, " \ - "the source output (foo.c) and the header(foo.h).\n" \ - "See %s --help\n", argv[0]); + fprintf(stderr, "Incorrect number of parameters. Requires " \ + "fours arguments, an edje, the group, " \ + "the source output (foo.c) and the header(foo.h).\n" \ + "See %s --help\n", argv[0]); ret = 1; goto error_getopt; } @@ -1155,70 +1160,70 @@ main(int argc, char *argv[]) if (!edje_file_group_exists(file, group)) { - ERR("The group %s not exists", group); - ret = 2; - goto error_getopt; + ERR("The group %s not exists", group); + ret = 2; + goto error_getopt; } ee = ecore_evas_buffer_new(1, 1); if (!ee) { - ERR("could not create ecore_evas_buffer"); - ret = 3; - goto error_getopt; + ERR("could not create ecore_evas_buffer"); + ret = 3; + goto error_getopt; } if (!_open_file_descriptors(source, header)) { - ERR("Could not create the source files, error %d (%s)", - errno, strerror(errno)); - ret = 4; - goto error_getopt; + ERR("Could not create the source files, error %d (%s)", + errno, strerror(errno)); + ret = 4; + goto error_getopt; } if (!_write_headers(header)) { - ERR("Could not write the header, error %d (%s)", - errno, strerror(errno)); - ret = 5; - goto error_getopt; + ERR("Could not write the header, error %d (%s)", + errno, strerror(errno)); + ret = 5; + goto error_getopt; } if (!_write_object_get()) { - ERR("Could not write the object get, error %d (%s)", - errno, strerror(errno)); - ret = 6; - goto error_getopt; + ERR("Could not write the object get, error %d (%s)", + errno, strerror(errno)); + ret = 6; + goto error_getopt; } if (!_parse()) { - ERR("Could not parsing the EDJE"); - ret = 7; - goto error_getopt; + ERR("Could not parsing the EDJE"); + ret = 7; + goto error_getopt; } if (!_write_footer(header)) { - ERR("Could not write the footer, error %d (%s)", - errno, strerror(errno)); - ret = 8; - goto error_getopt; + ERR("Could not write the footer, error %d (%s)", + errno, strerror(errno)); + ret = 8; + goto error_getopt; } if (!_close_file_descriptors()) { - ERR("Could not close the source files, error %d (%s)", - errno, strerror(errno)); - ret = 9; + ERR("Could not close the source files, error %d (%s)", + errno, strerror(errno)); + ret = 9; } - error_getopt: +error_getopt: if (ee) ecore_evas_free(ee); - error_log: +error_log: edje_shutdown(); ecore_evas_shutdown(); ecore_shutdown(); @@ -1227,9 +1232,10 @@ main(int argc, char *argv[]) if (ret > 4) { - unlink(header); - unlink(source); + unlink(header); + unlink(source); } return ret; } + |