diff options
author | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-04-17 15:50:22 +0300 |
---|---|---|
committer | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-04-17 15:50:22 +0300 |
commit | 38b993c29b2e9d64a682f74fd01882d671ebd5f7 (patch) | |
tree | 907e86386c97c0309bf488cf9b6a5669cf8a9557 /src/bin/eolian/eo1_generator.c | |
parent | 7aab226a813e8f484744a5fc5a4bd8e38d3e9506 (diff) |
Eolian/Generator: remove Eo1 generation
Diffstat (limited to 'src/bin/eolian/eo1_generator.c')
-rw-r--r-- | src/bin/eolian/eo1_generator.c | 310 |
1 files changed, 27 insertions, 283 deletions
diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c index fb3bce4d44..357de72472 100644 --- a/src/bin/eolian/eo1_generator.c +++ b/src/bin/eolian/eo1_generator.c | |||
@@ -16,24 +16,6 @@ _gen_@#class_class_destructor(Eo_Class *klass)\n\ | |||
16 | "; | 16 | "; |
17 | 17 | ||
18 | static const char | 18 | static const char |
19 | tmpl_eo1_class_ctor[] = "\ | ||
20 | static void\n\ | ||
21 | _gen_@#class_class_constructor(Eo_Class *klass)\n\ | ||
22 | {\n\ | ||
23 | const Eo_Op_Func_Description func_desc[] = {@#list_func\n\ | ||
24 | EO_OP_FUNC_SENTINEL\n\ | ||
25 | };\n\ | ||
26 | eo_class_funcs_set(klass, func_desc);\n\ | ||
27 | @#user_ctor_func\ | ||
28 | }\n\n"; | ||
29 | |||
30 | static const char | ||
31 | tmpl_eo1_ops_desc[] = "\ | ||
32 | static const Eo_Op_Description _@#class_op_desc[] = {@#list_op\n\ | ||
33 | EO_OP_DESCRIPTION_SENTINEL\n\ | ||
34 | };\n\n"; | ||
35 | |||
36 | static const char | ||
37 | tmpl_eo_ops_desc[] = "\ | 19 | tmpl_eo_ops_desc[] = "\ |
38 | static Eo_Op_Description _@#class_op_desc[] = {@#list_op\n\ | 20 | static Eo_Op_Description _@#class_op_desc[] = {@#list_op\n\ |
39 | EO_OP_SENTINEL\n\ | 21 | EO_OP_SENTINEL\n\ |
@@ -54,7 +36,7 @@ tmpl_eo_src[] = "\ | |||
54 | @#ops_desc\ | 36 | @#ops_desc\ |
55 | @#events_desc\ | 37 | @#events_desc\ |
56 | static const Eo_Class_Description _@#class_class_desc = {\n\ | 38 | static const Eo_Class_Description _@#class_class_desc = {\n\ |
57 | @#EO_VERSION,\n\ | 39 | EO_VERSION,\n\ |
58 | \"@#Class\",\n\ | 40 | \"@#Class\",\n\ |
59 | @#type_class,\n\ | 41 | @#type_class,\n\ |
60 | @#eo_class_desc_ops,\n\ | 42 | @#eo_class_desc_ops,\n\ |
@@ -68,18 +50,9 @@ EO_DEFINE_CLASS(@#eoprefix_class_get, &_@#class_class_desc, @#list_inheritNULL); | |||
68 | "; | 50 | "; |
69 | 51 | ||
70 | static const char | 52 | static const char |
71 | tmpl_eo1_op_desc[] = "\n EO_OP_DESCRIPTION(@#EOPREFIX_SUB_ID_@#FUNC, \"@#desc\"),"; | ||
72 | |||
73 | static const char | ||
74 | tmpl_eo1_func_desc[] = "\n EO_OP_FUNC(@#EOPREFIX_ID(@#EOPREFIX_SUB_ID_@#FUNC), _eo_obj_@#class_@#func),"; | ||
75 | |||
76 | static const char | ||
77 | tmpl_eo_func_desc[] = "\n EO_OP_FUNC_OVERRIDE(@#eoprefix_@#func, _@#class_@#func),"; | 53 | tmpl_eo_func_desc[] = "\n EO_OP_FUNC_OVERRIDE(@#eoprefix_@#func, _@#class_@#func),"; |
78 | 54 | ||
79 | static const char | 55 | static const char |
80 | tmpl_eo1base_func_desc[] = "\n EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_@#FUNC), _eo_obj_@#class_@#func),"; | ||
81 | |||
82 | static const char | ||
83 | tmpl_eo_op_desc[] = "\n EO_OP_FUNC(@#eoprefix_@#func, _@#class_@#func, \"@#desc\"),"; | 56 | tmpl_eo_op_desc[] = "\n EO_OP_FUNC(@#eoprefix_@#func, _@#class_@#func, \"@#desc\"),"; |
84 | 57 | ||
85 | static const char | 58 | static const char |
@@ -88,22 +61,6 @@ tmpl_eo_obj_header[] = "\ | |||
88 | \n\ | 61 | \n\ |
89 | const Eo_Class *@#eoprefix_class_get(void) EINA_CONST;\n\ | 62 | const Eo_Class *@#eoprefix_class_get(void) EINA_CONST;\n\ |
90 | \n\ | 63 | \n\ |
91 | extern EAPI Eo_Op @#EOPREFIX_BASE_ID;\n\ | ||
92 | \n\ | ||
93 | enum\n\ | ||
94 | {@#list_subid\n\ | ||
95 | @#EOPREFIX_SUB_ID_LAST\n\ | ||
96 | };\n\ | ||
97 | \n\ | ||
98 | #define @#EOPREFIX_ID(sub_id) (@#EOPREFIX_BASE_ID + sub_id)\n\n\ | ||
99 | "; | ||
100 | |||
101 | static const char | ||
102 | tmpl_eo_obj_header_no_ids[] = "\ | ||
103 | #define @#EOPREFIX_CLASS @#eoprefix_class_get()\n\ | ||
104 | \n\ | ||
105 | const Eo_Class *@#eoprefix_class_get(void) EINA_CONST;\n\ | ||
106 | \n\ | ||
107 | "; | 64 | "; |
108 | 65 | ||
109 | static const char | 66 | static const char |
@@ -125,9 +82,6 @@ tmpl_eo_funcdef_doxygen[] = "\ | |||
125 | */\n"; | 82 | */\n"; |
126 | 83 | ||
127 | static const char | 84 | static const char |
128 | tmpl_eo1_funcdef[] = "#define @#eoprefix_@#func(@#list_param) @#EOPREFIX_ID(@#EOPREFIX_SUB_ID_@#FUNC)@#list_typecheck\n"; | ||
129 | |||
130 | static const char | ||
131 | tmpl_eo_funcdef[] = "EAPI @#rettype @#eoprefix_@#func(@#full_params);\n"; | 85 | tmpl_eo_funcdef[] = "EAPI @#rettype @#eoprefix_@#func(@#full_params);\n"; |
132 | 86 | ||
133 | static const char | 87 | static const char |
@@ -138,21 +92,8 @@ static const char | |||
138 | tmpl_eo_retdesc[] =" * @return %s\n"; | 92 | tmpl_eo_retdesc[] =" * @return %s\n"; |
139 | #endif | 93 | #endif |
140 | 94 | ||
141 | static const char | ||
142 | tmpl_eo1bind_body[] ="\ | ||
143 | \n\ | ||
144 | @#ret_type _@#class_@#func(Eo *obj, @#Datatype_Data *pd@#full_params);\n\n\ | ||
145 | static void\n\ | ||
146 | _eo_obj_@#class_@#func(Eo *obj, void *_pd, va_list *list@#list_unused)\n\ | ||
147 | {\n\ | ||
148 | @#list_vars\ | ||
149 | @#ret_param_@#class_@#func(obj, _pd, @#list_params);\n\ | ||
150 | @#return_ret\ | ||
151 | }\n\ | ||
152 | "; | ||
153 | |||
154 | static Eina_Bool | 95 | static Eina_Bool |
155 | eo1_fundef_generate(const char *classname, Eolian_Function func, Eolian_Function_Type ftype, Eina_Strbuf *functext) | 96 | eo_fundef_generate(const char *classname, Eolian_Function func, Eolian_Function_Type ftype, Eina_Strbuf *functext) |
156 | { | 97 | { |
157 | const char *str_dir[] = {"in", "out", "inout"}; | 98 | const char *str_dir[] = {"in", "out", "inout"}; |
158 | const Eina_List *l; | 99 | const Eina_List *l; |
@@ -192,13 +133,9 @@ eo1_fundef_generate(const char *classname, Eolian_Function func, Eolian_Function | |||
192 | if (scope == EOLIAN_SCOPE_PROTECTED) | 133 | if (scope == EOLIAN_SCOPE_PROTECTED) |
193 | eina_strbuf_append_printf(str_func, "#ifdef %s_PROTECTED\n", capclass); | 134 | eina_strbuf_append_printf(str_func, "#ifdef %s_PROTECTED\n", capclass); |
194 | _template_fill(str_func, tmpl_eo_funcdef_doxygen, classname, funcname, EINA_FALSE); | 135 | _template_fill(str_func, tmpl_eo_funcdef_doxygen, classname, funcname, EINA_FALSE); |
195 | #ifndef EO | ||
196 | _template_fill(str_func, tmpl_eo1_funcdef, classname, funcname, EINA_FALSE); | ||
197 | #else | ||
198 | _template_fill(str_func, tmpl_eo_funcdef, classname, funcname, EINA_FALSE); | 136 | _template_fill(str_func, tmpl_eo_funcdef, classname, funcname, EINA_FALSE); |
199 | if (scope == EOLIAN_SCOPE_PROTECTED) | 137 | if (scope == EOLIAN_SCOPE_PROTECTED) |
200 | eina_strbuf_append_printf(str_func, "#endif\n"); | 138 | eina_strbuf_append_printf(str_func, "#endif\n"); |
201 | #endif | ||
202 | eina_strbuf_append_printf(str_func, "\n"); | 139 | eina_strbuf_append_printf(str_func, "\n"); |
203 | 140 | ||
204 | eina_strbuf_replace_all(str_func, "@#EOPREFIX", current_eo_prefix_upper); | 141 | eina_strbuf_replace_all(str_func, "@#EOPREFIX", current_eo_prefix_upper); |
@@ -235,13 +172,7 @@ eo1_fundef_generate(const char *classname, Eolian_Function func, Eolian_Function | |||
235 | eina_strbuf_append_printf(str_pardesc, tmpl_eo_pardesc, "in", pname, pdesc?pdesc:"No description supplied."); | 172 | eina_strbuf_append_printf(str_pardesc, tmpl_eo_pardesc, "in", pname, pdesc?pdesc:"No description supplied."); |
236 | 173 | ||
237 | if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", "); | 174 | if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", "); |
238 | #ifdef EO | ||
239 | eina_strbuf_append_printf(str_par, "%s %s", ptype, pname); | 175 | eina_strbuf_append_printf(str_par, "%s %s", ptype, pname); |
240 | #else | ||
241 | eina_strbuf_append(str_par, pname); | ||
242 | |||
243 | eina_strbuf_append_printf(str_typecheck, ", EO_TYPECHECK(%s, %s)", ptype, pname); | ||
244 | #endif | ||
245 | } | 176 | } |
246 | 177 | ||
247 | if (!var_as_ret) | 178 | if (!var_as_ret) |
@@ -268,44 +199,19 @@ eo1_fundef_generate(const char *classname, Eolian_Function func, Eolian_Function | |||
268 | eina_strbuf_append_printf(str_pardesc, tmpl_eo_pardesc, dir_str, pname, pdesc?pdesc:"No description supplied."); | 199 | eina_strbuf_append_printf(str_pardesc, tmpl_eo_pardesc, dir_str, pname, pdesc?pdesc:"No description supplied."); |
269 | 200 | ||
270 | if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", "); | 201 | if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", "); |
271 | #ifdef EO | ||
272 | eina_strbuf_append_printf(str_par, "%s%s%s%s%s", | 202 | eina_strbuf_append_printf(str_par, "%s%s%s%s%s", |
273 | is_const?"const ":"", | 203 | is_const?"const ":"", |
274 | ptype, had_star?"":" ", add_star?"*":"", pname); | 204 | ptype, had_star?"":" ", add_star?"*":"", pname); |
275 | #else | ||
276 | eina_strbuf_append(str_par, pname); | ||
277 | |||
278 | eina_strbuf_append_printf(str_typecheck, ", EO_TYPECHECK(%s%s%s%s, %s)", | ||
279 | is_const?"const ":"", | ||
280 | ptype, had_star?"":" ", add_star?"*":"", pname); | ||
281 | #endif | ||
282 | 205 | ||
283 | } | 206 | } |
284 | } | 207 | } |
285 | 208 | ||
286 | if (rettype && strcmp(rettype, "void")) | ||
287 | { | ||
288 | #ifndef EO | ||
289 | const char *ret_desc = eolian_function_return_comment_get(func, ftype); | ||
290 | eina_strbuf_append_printf(str_pardesc, tmpl_eo_pardesc, "out", "ret", ret_desc); | ||
291 | if (eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, ", "); | ||
292 | eina_strbuf_append(str_par, "ret"); | ||
293 | Eina_Bool had_star = !!strchr(rettype, '*'); | ||
294 | eina_strbuf_append_printf(str_typecheck, ", EO_TYPECHECK(%s%s%s*, ret)", | ||
295 | ret_const ? "const " : "", rettype, had_star?"":" "); | ||
296 | |||
297 | #else | ||
298 | /* eina_strbuf_append_printf(str_retdesc, tmpl_eo_retdesc, ret_desc); */ | ||
299 | #endif | ||
300 | } | ||
301 | #ifdef EO | ||
302 | tmpstr[0] = '\0'; | 209 | tmpstr[0] = '\0'; |
303 | sprintf(tmpstr, "%s%s%s", | 210 | sprintf(tmpstr, "%s%s%s", |
304 | ret_const ? "const " : "", | 211 | ret_const ? "const " : "", |
305 | rettype ? rettype : "void", | 212 | rettype ? rettype : "void", |
306 | rettype && strchr(rettype, '*')?"":" "); | 213 | rettype && strchr(rettype, '*')?"":" "); |
307 | eina_strbuf_replace_all(str_func, "@#rettype", tmpstr); | 214 | eina_strbuf_replace_all(str_func, "@#rettype", tmpstr); |
308 | #endif | ||
309 | 215 | ||
310 | eina_strbuf_replace_all(str_func, "@#list_param", eina_strbuf_string_get(str_par)); | 216 | eina_strbuf_replace_all(str_func, "@#list_param", eina_strbuf_string_get(str_par)); |
311 | if (!eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, "void"); | 217 | if (!eina_strbuf_length_get(str_par)) eina_strbuf_append(str_par, "void"); |
@@ -327,7 +233,7 @@ eo1_fundef_generate(const char *classname, Eolian_Function func, Eolian_Function | |||
327 | } | 233 | } |
328 | 234 | ||
329 | Eina_Bool | 235 | Eina_Bool |
330 | eo1_header_generate(const char *classname, Eina_Strbuf *buf) | 236 | eo_header_generate(const char *classname, Eina_Strbuf *buf) |
331 | { | 237 | { |
332 | const Eolian_Function_Type ftype_order[] = {EOLIAN_CTOR, EOLIAN_PROPERTY, EOLIAN_METHOD}; | 238 | const Eolian_Function_Type ftype_order[] = {EOLIAN_CTOR, EOLIAN_PROPERTY, EOLIAN_METHOD}; |
333 | const Eina_List *l; | 239 | const Eina_List *l; |
@@ -342,19 +248,7 @@ eo1_header_generate(const char *classname, Eina_Strbuf *buf) | |||
342 | return EINA_FALSE; | 248 | return EINA_FALSE; |
343 | } | 249 | } |
344 | 250 | ||
345 | #ifndef EO | 251 | _template_fill(str_hdr, tmpl_eo_obj_header, classname, "", EINA_TRUE); |
346 | if (eolian_class_functions_list_get(classname, EOLIAN_CTOR) || | ||
347 | eolian_class_functions_list_get(classname, EOLIAN_DTOR) || | ||
348 | eolian_class_functions_list_get(classname, EOLIAN_PROPERTY) || | ||
349 | eolian_class_functions_list_get(classname, EOLIAN_METHOD)) | ||
350 | { | ||
351 | _template_fill(str_hdr, tmpl_eo_obj_header, classname, "", EINA_TRUE); | ||
352 | } | ||
353 | else | ||
354 | #endif | ||
355 | { | ||
356 | _template_fill(str_hdr, tmpl_eo_obj_header_no_ids, classname, "", EINA_TRUE); | ||
357 | } | ||
358 | 252 | ||
359 | eina_strbuf_replace_all(str_hdr, "@#EOPREFIX", current_eo_prefix_upper); | 253 | eina_strbuf_replace_all(str_hdr, "@#EOPREFIX", current_eo_prefix_upper); |
360 | eina_strbuf_replace_all(str_hdr, "@#eoprefix", current_eo_prefix_lower); | 254 | eina_strbuf_replace_all(str_hdr, "@#eoprefix", current_eo_prefix_lower); |
@@ -397,19 +291,19 @@ eo1_header_generate(const char *classname, Eina_Strbuf *buf) | |||
397 | if (!prop_read && !prop_write) | 291 | if (!prop_read && !prop_write) |
398 | { | 292 | { |
399 | _template_fill(str_subid, tmpl_eo_subid, classname, funcname, EINA_FALSE); | 293 | _template_fill(str_subid, tmpl_eo_subid, classname, funcname, EINA_FALSE); |
400 | eo1_fundef_generate(classname, (Eolian_Function)data, EOLIAN_UNRESOLVED, str_hdr); | 294 | eo_fundef_generate(classname, (Eolian_Function)data, EOLIAN_UNRESOLVED, str_hdr); |
401 | } | 295 | } |
402 | if (prop_write) | 296 | if (prop_write) |
403 | { | 297 | { |
404 | sprintf(tmpstr, "%s_set", funcname); | 298 | sprintf(tmpstr, "%s_set", funcname); |
405 | _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); | 299 | _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); |
406 | eo1_fundef_generate(classname, (Eolian_Function)data, EOLIAN_PROP_SET, str_hdr); | 300 | eo_fundef_generate(classname, (Eolian_Function)data, EOLIAN_PROP_SET, str_hdr); |
407 | } | 301 | } |
408 | if (prop_read) | 302 | if (prop_read) |
409 | { | 303 | { |
410 | sprintf(tmpstr, "%s_get", funcname); | 304 | sprintf(tmpstr, "%s_get", funcname); |
411 | _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); | 305 | _template_fill(str_subid, tmpl_eo_subid, classname, tmpstr, EINA_FALSE); |
412 | eo1_fundef_generate(classname, (Eolian_Function)data, EOLIAN_PROP_GET, str_hdr); | 306 | eo_fundef_generate(classname, (Eolian_Function)data, EOLIAN_PROP_GET, str_hdr); |
413 | } | 307 | } |
414 | eina_strbuf_replace_all(str_subid, "@#EOPREFIX", current_eo_prefix_upper); | 308 | eina_strbuf_replace_all(str_subid, "@#EOPREFIX", current_eo_prefix_upper); |
415 | } | 309 | } |
@@ -430,22 +324,8 @@ eo1_header_generate(const char *classname, Eina_Strbuf *buf) | |||
430 | return EINA_TRUE; | 324 | return EINA_TRUE; |
431 | } | 325 | } |
432 | 326 | ||
433 | #ifndef EO | ||
434 | static const char* | ||
435 | _varg_upgr(const char *stype) | ||
436 | { | ||
437 | if (!strcmp(stype, "Eina_Bool") || | ||
438 | !strcmp(stype, "char") || | ||
439 | !strcmp(stype, "short") || | ||
440 | !strcmp(stype, "unsigned short")) | ||
441 | return "int"; | ||
442 | |||
443 | return stype; | ||
444 | } | ||
445 | #endif | ||
446 | |||
447 | static Eina_Bool | 327 | static Eina_Bool |
448 | eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Function_Type ftype, Eina_Strbuf *buf, const char *impl_name) | 328 | eo_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Function_Type ftype, Eina_Strbuf *buf, const char *impl_name) |
449 | { | 329 | { |
450 | const char *suffix = ""; | 330 | const char *suffix = ""; |
451 | Eina_Bool var_as_ret = EINA_FALSE; | 331 | Eina_Bool var_as_ret = EINA_FALSE; |
@@ -455,11 +335,7 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
455 | Eina_Bool add_star = EINA_FALSE; | 335 | Eina_Bool add_star = EINA_FALSE; |
456 | 336 | ||
457 | Eina_Bool need_implementation = EINA_TRUE; | 337 | Eina_Bool need_implementation = EINA_TRUE; |
458 | #ifndef EO | ||
459 | if (!impl_name && eolian_function_is_virtual_pure(funcid, ftype)) return EINA_TRUE; | ||
460 | #else | ||
461 | if (!impl_name && eolian_function_is_virtual_pure(funcid, ftype)) need_implementation = EINA_FALSE; | 338 | if (!impl_name && eolian_function_is_virtual_pure(funcid, ftype)) need_implementation = EINA_FALSE; |
462 | #endif | ||
463 | 339 | ||
464 | Eina_Strbuf *fbody = eina_strbuf_new(); | 340 | Eina_Strbuf *fbody = eina_strbuf_new(); |
465 | Eina_Strbuf *va_args = eina_strbuf_new(); | 341 | Eina_Strbuf *va_args = eina_strbuf_new(); |
@@ -493,11 +369,7 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
493 | sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix); | 369 | sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix); |
494 | char tmpstr2[0xFF]; | 370 | char tmpstr2[0xFF]; |
495 | sprintf (tmpstr2, "%s_%s", classname, impl_name); | 371 | sprintf (tmpstr2, "%s_%s", classname, impl_name); |
496 | #ifndef EO | ||
497 | _template_fill(fbody, tmpl_eo1bind_body, impl_name?tmpstr2:classname, tmpstr, EINA_FALSE); | ||
498 | #else | ||
499 | _class_func_names_fill(impl_name?tmpstr2:classname, tmpstr); | 372 | _class_func_names_fill(impl_name?tmpstr2:classname, tmpstr); |
500 | #endif | ||
501 | 373 | ||
502 | const Eina_List *l; | 374 | const Eina_List *l; |
503 | void *data; | 375 | void *data; |
@@ -508,11 +380,6 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
508 | const char *ptype; | 380 | const char *ptype; |
509 | eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &ptype, &pname, NULL); | 381 | eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &ptype, &pname, NULL); |
510 | Eina_Bool is_const = eolian_parameter_const_attribute_get(data, ftype == EOLIAN_PROP_GET); | 382 | Eina_Bool is_const = eolian_parameter_const_attribute_get(data, ftype == EOLIAN_PROP_GET); |
511 | #ifndef EO | ||
512 | eina_strbuf_append_printf(va_args, " %s%s %s = va_arg(*list, %s%s);\n", | ||
513 | is_const?"const ":"", ptype, pname, | ||
514 | is_const?"const ":"", _varg_upgr(ptype)); | ||
515 | #endif | ||
516 | if (eina_strbuf_length_get(params)) eina_strbuf_append(params, ", "); | 383 | if (eina_strbuf_length_get(params)) eina_strbuf_append(params, ", "); |
517 | eina_strbuf_append_printf(params, "%s", pname); | 384 | eina_strbuf_append_printf(params, "%s", pname); |
518 | eina_strbuf_append_printf(full_params, ", %s%s %s", | 385 | eina_strbuf_append_printf(full_params, ", %s%s %s", |
@@ -530,11 +397,6 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
530 | Eina_Bool is_const = eolian_parameter_const_attribute_get(data, ftype == EOLIAN_PROP_GET); | 397 | Eina_Bool is_const = eolian_parameter_const_attribute_get(data, ftype == EOLIAN_PROP_GET); |
531 | Eina_Bool had_star = !!strchr(ptype, '*'); | 398 | Eina_Bool had_star = !!strchr(ptype, '*'); |
532 | if (ftype == EOLIAN_UNRESOLVED || ftype == EOLIAN_METHOD) add_star = (pdir == EOLIAN_OUT_PARAM); | 399 | if (ftype == EOLIAN_UNRESOLVED || ftype == EOLIAN_METHOD) add_star = (pdir == EOLIAN_OUT_PARAM); |
533 | #ifndef EO | ||
534 | eina_strbuf_append_printf(va_args, " %s%s%s%s%s = va_arg(*list, %s%s%s%s);\n", | ||
535 | is_const?"const ":"", ptype, had_star?"":" ", add_star?"*":"", pname, | ||
536 | is_const?"const ":"", add_star ? ptype : _varg_upgr(ptype), !had_star && add_star?" ":"", add_star?"*":""); | ||
537 | #endif | ||
538 | if (eina_strbuf_length_get(params)) eina_strbuf_append(params, ", "); | 400 | if (eina_strbuf_length_get(params)) eina_strbuf_append(params, ", "); |
539 | eina_strbuf_append_printf(params, "%s", pname); | 401 | eina_strbuf_append_printf(params, "%s", pname); |
540 | eina_strbuf_append_printf(full_params, ", %s%s%s%s%s", | 402 | eina_strbuf_append_printf(full_params, ", %s%s%s%s%s", |
@@ -543,44 +405,6 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
543 | } | 405 | } |
544 | } | 406 | } |
545 | 407 | ||
546 | #ifndef EO | ||
547 | if (rettype && strcmp(rettype, "void")) | ||
548 | { | ||
549 | Eina_Bool had_star = !!strchr(rettype, '*'); | ||
550 | eina_strbuf_append_printf(va_args, " %s%s%s*%s = va_arg(*list, %s%s%s*);\n", | ||
551 | ret_const?"const ":"", | ||
552 | rettype, had_star?"":" ", retname, | ||
553 | ret_const?"const ":"", | ||
554 | rettype, had_star?"":" "); | ||
555 | Eina_Strbuf *ret_param = eina_strbuf_new(); | ||
556 | if (rettype) eina_strbuf_append_printf(ret_param, "%s%s%s_%s = ", ret_const?"const ":"", rettype, had_star?"":" ", retname); | ||
557 | eina_strbuf_replace_all(fbody, "@#ret_param", eina_strbuf_string_get(ret_param)); | ||
558 | sprintf(tmpstr, "%s%s", ret_const?"const ":"", rettype); | ||
559 | eina_strbuf_replace_all(fbody, "@#ret_type", tmpstr); | ||
560 | sprintf(tmpstr, " if (%s) *%s = _%s;\n", retname, retname, retname); | ||
561 | eina_strbuf_replace_all(fbody, "@#return_ret", tmpstr); | ||
562 | eina_strbuf_free(ret_param); | ||
563 | } | ||
564 | else | ||
565 | { | ||
566 | eina_strbuf_replace_all(fbody, "@#ret_param", ""); | ||
567 | eina_strbuf_replace_all(fbody, "@#ret_type", "void"); | ||
568 | eina_strbuf_replace_all(fbody, "@#return_ret", ""); | ||
569 | } | ||
570 | |||
571 | if (eina_list_count(eolian_parameters_list_get(funcid)) == 0 && | ||
572 | (eina_list_count(eolian_property_keys_list_get(funcid)) == 0)) | ||
573 | { | ||
574 | eina_strbuf_replace_all(fbody, "@#list_unused", " EINA_UNUSED"); | ||
575 | } | ||
576 | else | ||
577 | { | ||
578 | eina_strbuf_replace_all(fbody, "@#list_unused", ""); | ||
579 | } | ||
580 | if (!eina_strbuf_length_get(params)) eina_strbuf_replace_all(fbody, ", @#list_params", ""); | ||
581 | eina_strbuf_replace_all(fbody, "@#list_vars", eina_strbuf_string_get(va_args)); | ||
582 | eina_strbuf_replace_all(fbody, "@#list_params", eina_strbuf_string_get(params)); | ||
583 | #else | ||
584 | if (need_implementation) | 408 | if (need_implementation) |
585 | { | 409 | { |
586 | Eina_Strbuf *ret_param = eina_strbuf_new(); | 410 | Eina_Strbuf *ret_param = eina_strbuf_new(); |
@@ -624,7 +448,7 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
624 | eina_strbuf_append_printf(fbody, "%s\n", eina_strbuf_string_get(eo_func_decl)); | 448 | eina_strbuf_append_printf(fbody, "%s\n", eina_strbuf_string_get(eo_func_decl)); |
625 | eina_strbuf_free(eo_func_decl); | 449 | eina_strbuf_free(eo_func_decl); |
626 | } | 450 | } |
627 | #endif | 451 | |
628 | if (need_implementation) | 452 | if (need_implementation) |
629 | { | 453 | { |
630 | eina_strbuf_replace_all(fbody, "@#full_params", eina_strbuf_string_get(full_params)); | 454 | eina_strbuf_replace_all(fbody, "@#full_params", eina_strbuf_string_get(full_params)); |
@@ -652,7 +476,7 @@ eo1_bind_func_generate(const char *classname, Eolian_Function funcid, Eolian_Fun | |||
652 | } | 476 | } |
653 | 477 | ||
654 | static Eina_Bool | 478 | static Eina_Bool |
655 | eo1_eo_func_desc_generate(const char *class_name, const char *impl_name, const char *func_name, Eina_Strbuf *buf) | 479 | eo_func_desc_generate(const char *class_name, const char *impl_name, const char *func_name, Eina_Strbuf *buf) |
656 | { | 480 | { |
657 | if (impl_name) | 481 | if (impl_name) |
658 | _class_func_names_fill(impl_name, func_name); | 482 | _class_func_names_fill(impl_name, func_name); |
@@ -676,12 +500,6 @@ eo_op_desc_generate(const char *classname, Eolian_Function fid, Eolian_Function_ | |||
676 | 500 | ||
677 | eina_strbuf_reset(buf); | 501 | eina_strbuf_reset(buf); |
678 | _class_func_names_fill(classname, funcname); | 502 | _class_func_names_fill(classname, funcname); |
679 | #ifndef EO | ||
680 | if (ftype == EOLIAN_PROP_GET) suffix = "_GET"; | ||
681 | if (ftype == EOLIAN_PROP_SET) suffix = "_SET"; | ||
682 | eina_strbuf_append_printf(buf, "\n EO_OP_DESCRIPTION(%s_SUB_ID_%s%s, \"%s\"),", | ||
683 | current_eo_prefix_upper, capfunc, suffix, desc); | ||
684 | #else | ||
685 | if (ftype == EOLIAN_PROP_GET) suffix = "_get"; | 503 | if (ftype == EOLIAN_PROP_GET) suffix = "_get"; |
686 | if (ftype == EOLIAN_PROP_SET) suffix = "_set"; | 504 | if (ftype == EOLIAN_PROP_SET) suffix = "_set"; |
687 | Eina_Bool is_virtual_pure = eolian_function_is_virtual_pure(fid, ftype); | 505 | Eina_Bool is_virtual_pure = eolian_function_is_virtual_pure(fid, ftype); |
@@ -690,31 +508,18 @@ eo_op_desc_generate(const char *classname, Eolian_Function fid, Eolian_Function_ | |||
690 | eina_strbuf_append_printf(buf, "_%s_%s%s, \"%s\"),", lowclass, funcname, suffix, desc); | 508 | eina_strbuf_append_printf(buf, "_%s_%s%s, \"%s\"),", lowclass, funcname, suffix, desc); |
691 | else | 509 | else |
692 | eina_strbuf_append_printf(buf, "NULL, \"%s\"),", desc); | 510 | eina_strbuf_append_printf(buf, "NULL, \"%s\"),", desc); |
693 | #endif | ||
694 | 511 | ||
695 | return EINA_TRUE; | 512 | return EINA_TRUE; |
696 | } | 513 | } |
697 | 514 | ||
698 | static Eina_Bool | 515 | static Eina_Bool |
699 | eo1_source_beginning_generate(const char *classname, Eina_Strbuf *buf) | 516 | eo_source_beginning_generate(const char *classname, Eina_Strbuf *buf) |
700 | { | 517 | { |
701 | const Eina_List *itr; | 518 | const Eina_List *itr; |
702 | 519 | ||
703 | Eina_Strbuf *tmpbuf = eina_strbuf_new(); | 520 | Eina_Strbuf *tmpbuf = eina_strbuf_new(); |
704 | Eina_Strbuf *str_ev = eina_strbuf_new(); | 521 | Eina_Strbuf *str_ev = eina_strbuf_new(); |
705 | 522 | ||
706 | #ifndef EO | ||
707 | if (eolian_class_functions_list_get(classname, EOLIAN_CTOR) || | ||
708 | eolian_class_functions_list_get(classname, EOLIAN_DTOR) || | ||
709 | eolian_class_functions_list_get(classname, EOLIAN_PROPERTY) || | ||
710 | eolian_class_functions_list_get(classname, EOLIAN_METHOD)) | ||
711 | { | ||
712 | _template_fill(NULL, NULL, classname, NULL, EINA_TRUE); | ||
713 | eina_strbuf_append_printf(buf, "EAPI Eo_Op @#EOPREFIX_BASE_ID = EO_NOOP;\n"); | ||
714 | eina_strbuf_replace_all(buf, "@#EOPREFIX", current_eo_prefix_upper); | ||
715 | } | ||
716 | #endif | ||
717 | |||
718 | Eolian_Event event; | 523 | Eolian_Event event; |
719 | EINA_LIST_FOREACH(eolian_class_events_list_get(classname), itr, event) | 524 | EINA_LIST_FOREACH(eolian_class_events_list_get(classname), itr, event) |
720 | { | 525 | { |
@@ -741,7 +546,7 @@ eo1_source_beginning_generate(const char *classname, Eina_Strbuf *buf) | |||
741 | } | 546 | } |
742 | 547 | ||
743 | static Eina_Bool | 548 | static Eina_Bool |
744 | eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | 549 | eo_source_end_generate(const char *classname, Eina_Strbuf *buf) |
745 | { | 550 | { |
746 | Eina_Bool ret = EINA_FALSE; | 551 | Eina_Bool ret = EINA_FALSE; |
747 | const Eina_List *itr; | 552 | const Eina_List *itr; |
@@ -782,54 +587,26 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
782 | 587 | ||
783 | _template_fill(str_end, tmpl_eo_src, classname, NULL, EINA_TRUE); | 588 | _template_fill(str_end, tmpl_eo_src, classname, NULL, EINA_TRUE); |
784 | 589 | ||
785 | eina_strbuf_replace_all(str_end, "@#EO_VERSION", | ||
786 | #ifdef EO | ||
787 | "EO_VERSION" | ||
788 | #else | ||
789 | "EO_VERSION" | ||
790 | #endif | ||
791 | ); | ||
792 | |||
793 | |||
794 | eina_strbuf_replace_all(str_end, "@#type_class", str_classtype); | 590 | eina_strbuf_replace_all(str_end, "@#type_class", str_classtype); |
795 | eina_strbuf_replace_all(str_end, "@#EOPREFIX", current_eo_prefix_upper); | 591 | eina_strbuf_replace_all(str_end, "@#EOPREFIX", current_eo_prefix_upper); |
796 | eina_strbuf_replace_all(str_end, "@#eoprefix", current_eo_prefix_lower); | 592 | eina_strbuf_replace_all(str_end, "@#eoprefix", current_eo_prefix_lower); |
797 | 593 | ||
798 | eina_strbuf_reset(tmpbuf); | 594 | eina_strbuf_reset(tmpbuf); |
799 | #ifndef EO | ||
800 | _template_fill(tmpbuf, tmpl_eo1_class_ctor, classname, "", EINA_TRUE); | ||
801 | #endif | ||
802 | eina_strbuf_replace_all(str_end, "@#ctor_func", eina_strbuf_string_get(tmpbuf)); | 595 | eina_strbuf_replace_all(str_end, "@#ctor_func", eina_strbuf_string_get(tmpbuf)); |
803 | 596 | ||
804 | eina_strbuf_reset(tmpbuf); | 597 | eina_strbuf_reset(tmpbuf); |
805 | #ifndef EO | ||
806 | _template_fill(tmpbuf, "_gen_@#class_class_constructor", classname, "", EINA_TRUE); | ||
807 | eina_strbuf_replace_all(str_end, "@#ctor_name", eina_strbuf_string_get(tmpbuf)); | ||
808 | eina_strbuf_reset(tmpbuf); | ||
809 | if (eolian_class_ctor_enable_get(classname)) | ||
810 | _template_fill(tmpbuf, " _@#class_class_constructor(klass);\n", classname, "", EINA_TRUE); | ||
811 | eina_strbuf_replace_all(str_end, "@#user_ctor_func", eina_strbuf_string_get(tmpbuf)); | ||
812 | #else | ||
813 | if (eolian_class_ctor_enable_get(classname)) | 598 | if (eolian_class_ctor_enable_get(classname)) |
814 | _template_fill(tmpbuf, "_@#class_class_constructor", classname, "", EINA_TRUE); | 599 | _template_fill(tmpbuf, "_@#class_class_constructor", classname, "", EINA_TRUE); |
815 | else | 600 | else |
816 | eina_strbuf_append_printf(tmpbuf, "NULL"); | 601 | eina_strbuf_append_printf(tmpbuf, "NULL"); |
817 | eina_strbuf_replace_all(str_end, "@#ctor_name", eina_strbuf_string_get(tmpbuf)); | 602 | eina_strbuf_replace_all(str_end, "@#ctor_name", eina_strbuf_string_get(tmpbuf)); |
818 | #endif | ||
819 | 603 | ||
820 | eina_strbuf_reset(tmpbuf); | 604 | eina_strbuf_reset(tmpbuf); |
821 | if (eolian_class_dtor_enable_get(classname)) | 605 | if (eolian_class_dtor_enable_get(classname)) |
822 | { | 606 | { |
823 | #ifndef EO | ||
824 | _template_fill(tmpbuf, tmpl_dtor, classname, "", EINA_TRUE); | ||
825 | #endif | ||
826 | eina_strbuf_replace_all(str_end, "@#dtor_func", eina_strbuf_string_get(tmpbuf)); | 607 | eina_strbuf_replace_all(str_end, "@#dtor_func", eina_strbuf_string_get(tmpbuf)); |
827 | eina_strbuf_reset(tmpbuf); | 608 | eina_strbuf_reset(tmpbuf); |
828 | #ifndef EO | ||
829 | _template_fill(tmpbuf, "_gen_@#class_class_destructor", classname, "", EINA_TRUE); | ||
830 | #else | ||
831 | _template_fill(tmpbuf, "_@#class_class_destructor", classname, "", EINA_TRUE); | 609 | _template_fill(tmpbuf, "_@#class_class_destructor", classname, "", EINA_TRUE); |
832 | #endif | ||
833 | eina_strbuf_replace_all(str_end, "@#dtor_name", eina_strbuf_string_get(tmpbuf)); | 610 | eina_strbuf_replace_all(str_end, "@#dtor_name", eina_strbuf_string_get(tmpbuf)); |
834 | } | 611 | } |
835 | else | 612 | else |
@@ -844,15 +621,13 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
844 | Eolian_Function ctor_fn = eolian_class_default_constructor_get(classname); | 621 | Eolian_Function ctor_fn = eolian_class_default_constructor_get(classname); |
845 | if (ctor_fn) | 622 | if (ctor_fn) |
846 | { | 623 | { |
847 | _template_fill(str_func, tmpl_eo1base_func_desc, classname, "constructor", EINA_FALSE); | 624 | eo_bind_func_generate(classname, ctor_fn, EOLIAN_UNRESOLVED, str_bodyf, NULL); |
848 | eo1_bind_func_generate(classname, ctor_fn, EOLIAN_UNRESOLVED, str_bodyf, NULL); | ||
849 | } | 625 | } |
850 | // default destructor | 626 | // default destructor |
851 | Eolian_Function dtor_fn = eolian_class_default_destructor_get(classname); | 627 | Eolian_Function dtor_fn = eolian_class_default_destructor_get(classname); |
852 | if (dtor_fn) | 628 | if (dtor_fn) |
853 | { | 629 | { |
854 | _template_fill(str_func, tmpl_eo1base_func_desc, classname, "destructor", EINA_FALSE); | 630 | eo_bind_func_generate(classname, dtor_fn, EOLIAN_UNRESOLVED, str_bodyf, NULL); |
855 | eo1_bind_func_generate(classname, dtor_fn, EOLIAN_UNRESOLVED, str_bodyf, NULL); | ||
856 | } | 631 | } |
857 | 632 | ||
858 | //Implements - TODO one generate func def for all | 633 | //Implements - TODO one generate func def for all |
@@ -867,11 +642,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
867 | 642 | ||
868 | eina_strbuf_reset(tmpl_impl); | 643 | eina_strbuf_reset(tmpl_impl); |
869 | _template_fill(str_func, NULL, impl_class, NULL, EINA_FALSE); /* Invoked to set the variables */ | 644 | _template_fill(str_func, NULL, impl_class, NULL, EINA_FALSE); /* Invoked to set the variables */ |
870 | #ifndef EO | ||
871 | eina_strbuf_append(tmpl_impl, tmpl_eo1_func_desc); | ||
872 | #else | ||
873 | eina_strbuf_append(tmpl_impl, tmpl_eo_func_desc); | 645 | eina_strbuf_append(tmpl_impl, tmpl_eo_func_desc); |
874 | #endif | ||
875 | eina_strbuf_replace_all(tmpl_impl, "@#EOPREFIX", current_eo_prefix_upper); | 646 | eina_strbuf_replace_all(tmpl_impl, "@#EOPREFIX", current_eo_prefix_upper); |
876 | eina_strbuf_replace_all(tmpl_impl, "@#eoprefix", current_eo_prefix_lower); | 647 | eina_strbuf_replace_all(tmpl_impl, "@#eoprefix", current_eo_prefix_lower); |
877 | 648 | ||
@@ -907,12 +678,8 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
907 | 678 | ||
908 | if (in_meth) | 679 | if (in_meth) |
909 | { | 680 | { |
910 | #ifndef EO | ||
911 | _template_fill(str_func, tmpl_impl_str, impl_class, funcname, EINA_FALSE); | ||
912 | #else | ||
913 | _template_fill(str_op, tmpl_impl_str, impl_class, funcname, EINA_FALSE); | 681 | _template_fill(str_op, tmpl_impl_str, impl_class, funcname, EINA_FALSE); |
914 | #endif | 682 | eo_bind_func_generate(classname, in_meth, EOLIAN_UNRESOLVED, str_bodyf, impl_class); |
915 | eo1_bind_func_generate(classname, in_meth, EOLIAN_UNRESOLVED, str_bodyf, impl_class); | ||
916 | continue; | 683 | continue; |
917 | } | 684 | } |
918 | 685 | ||
@@ -928,23 +695,15 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
928 | if (prop_write) | 695 | if (prop_write) |
929 | { | 696 | { |
930 | sprintf(tmpstr, "%s_set", funcname); | 697 | sprintf(tmpstr, "%s_set", funcname); |
931 | #ifndef EO | ||
932 | _template_fill(str_func, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); | ||
933 | #else | ||
934 | _template_fill(str_op, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); | 698 | _template_fill(str_op, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); |
935 | #endif | 699 | eo_bind_func_generate(classname, in_prop, EOLIAN_PROP_SET, str_bodyf, impl_class); |
936 | eo1_bind_func_generate(classname, in_prop, EOLIAN_PROP_SET, str_bodyf, impl_class); | ||
937 | } | 700 | } |
938 | 701 | ||
939 | if (prop_read) | 702 | if (prop_read) |
940 | { | 703 | { |
941 | sprintf(tmpstr, "%s_get", funcname); | 704 | sprintf(tmpstr, "%s_get", funcname); |
942 | #ifndef EO | ||
943 | _template_fill(str_func, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); | ||
944 | #else | ||
945 | _template_fill(str_op, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); | 705 | _template_fill(str_op, tmpl_impl_str, impl_class, tmpstr, EINA_FALSE); |
946 | #endif | 706 | eo_bind_func_generate(classname, in_prop, EOLIAN_PROP_GET, str_bodyf, impl_class); |
947 | eo1_bind_func_generate(classname, in_prop, EOLIAN_PROP_GET, str_bodyf, impl_class); | ||
948 | } | 707 | } |
949 | } | 708 | } |
950 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); | 709 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); |
@@ -959,10 +718,10 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
959 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); | 718 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); |
960 | free(desc); | 719 | free(desc); |
961 | 720 | ||
962 | eo1_eo_func_desc_generate(classname, NULL, funcname, tmpbuf); | 721 | eo_func_desc_generate(classname, NULL, funcname, tmpbuf); |
963 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); | 722 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); |
964 | 723 | ||
965 | eo1_bind_func_generate(classname, fn, EOLIAN_UNRESOLVED, str_bodyf, NULL); | 724 | eo_bind_func_generate(classname, fn, EOLIAN_UNRESOLVED, str_bodyf, NULL); |
966 | } | 725 | } |
967 | 726 | ||
968 | //Properties | 727 | //Properties |
@@ -985,7 +744,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
985 | free(desc); | 744 | free(desc); |
986 | 745 | ||
987 | if (!eolian_function_is_virtual_pure(fn, EOLIAN_PROP_SET)) | 746 | if (!eolian_function_is_virtual_pure(fn, EOLIAN_PROP_SET)) |
988 | eo1_eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf); | 747 | eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf); |
989 | else | 748 | else |
990 | eina_strbuf_reset(tmpbuf); | 749 | eina_strbuf_reset(tmpbuf); |
991 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); | 750 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); |
@@ -1000,7 +759,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
1000 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); | 759 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); |
1001 | 760 | ||
1002 | if (!eolian_function_is_virtual_pure(fn, EOLIAN_PROP_GET)) | 761 | if (!eolian_function_is_virtual_pure(fn, EOLIAN_PROP_GET)) |
1003 | eo1_eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf); | 762 | eo_func_desc_generate(classname, NULL, tmpstr, tmpbuf); |
1004 | else | 763 | else |
1005 | eina_strbuf_reset(tmpbuf); | 764 | eina_strbuf_reset(tmpbuf); |
1006 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); | 765 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); |
@@ -1018,7 +777,7 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
1018 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); | 777 | eina_strbuf_append(str_op, eina_strbuf_string_get(tmpbuf)); |
1019 | 778 | ||
1020 | if (!eolian_function_is_virtual_pure(fn, EOLIAN_METHOD)) | 779 | if (!eolian_function_is_virtual_pure(fn, EOLIAN_METHOD)) |
1021 | eo1_eo_func_desc_generate(classname, NULL, funcname, tmpbuf); | 780 | eo_func_desc_generate(classname, NULL, funcname, tmpbuf); |
1022 | else | 781 | else |
1023 | eina_strbuf_reset(tmpbuf); | 782 | eina_strbuf_reset(tmpbuf); |
1024 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); | 783 | eina_strbuf_append(str_func, eina_strbuf_string_get(tmpbuf)); |
@@ -1071,33 +830,18 @@ eo1_source_end_generate(const char *classname, Eina_Strbuf *buf) | |||
1071 | if (eina_strbuf_length_get(str_op)) | 830 | if (eina_strbuf_length_get(str_op)) |
1072 | { | 831 | { |
1073 | Eina_Strbuf *ops_desc = eina_strbuf_new(); | 832 | Eina_Strbuf *ops_desc = eina_strbuf_new(); |
1074 | #ifndef EO | ||
1075 | _template_fill(ops_desc, tmpl_eo1_ops_desc, classname, "", EINA_TRUE); | ||
1076 | #else | ||
1077 | _template_fill(ops_desc, tmpl_eo_ops_desc, classname, "", EINA_TRUE); | 833 | _template_fill(ops_desc, tmpl_eo_ops_desc, classname, "", EINA_TRUE); |
1078 | #endif | ||
1079 | eina_strbuf_replace_all(ops_desc, "@#list_op", eina_strbuf_string_get(str_op)); | 834 | eina_strbuf_replace_all(ops_desc, "@#list_op", eina_strbuf_string_get(str_op)); |
1080 | eina_strbuf_replace_all(str_end, "@#ops_desc", eina_strbuf_string_get(ops_desc)); | 835 | eina_strbuf_replace_all(str_end, "@#ops_desc", eina_strbuf_string_get(ops_desc)); |
1081 | eina_strbuf_free(ops_desc); | 836 | eina_strbuf_free(ops_desc); |
1082 | #ifndef EO | ||
1083 | _template_fill(tmpbuf, | ||
1084 | "EO_CLASS_DESCRIPTION_OPS(&@#EOPREFIX_BASE_ID, _@#class_op_desc, @#EOPREFIX_SUB_ID_LAST)", | ||
1085 | classname, NULL, EINA_TRUE); | ||
1086 | eina_strbuf_replace_all(tmpbuf, "@#EOPREFIX", current_eo_prefix_upper); | ||
1087 | #else | ||
1088 | _template_fill(tmpbuf, | 837 | _template_fill(tmpbuf, |
1089 | "EO_CLASS_DESCRIPTION_OPS(_@#class_op_desc)", | 838 | "EO_CLASS_DESCRIPTION_OPS(_@#class_op_desc)", |
1090 | classname, NULL, EINA_TRUE); | 839 | classname, NULL, EINA_TRUE); |
1091 | #endif | ||
1092 | } | 840 | } |
1093 | else | 841 | else |
1094 | { | 842 | { |
1095 | eina_strbuf_replace_all(str_end, "@#ops_desc", ""); | 843 | eina_strbuf_replace_all(str_end, "@#ops_desc", ""); |
1096 | #ifndef EO | ||
1097 | eina_strbuf_append_printf(tmpbuf, "EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0)"); | ||
1098 | #else | ||
1099 | eina_strbuf_append_printf(tmpbuf, "EO_CLASS_DESCRIPTION_NOOPS()"); | 844 | eina_strbuf_append_printf(tmpbuf, "EO_CLASS_DESCRIPTION_NOOPS()"); |
1100 | #endif | ||
1101 | } | 845 | } |
1102 | 846 | ||
1103 | eina_strbuf_replace_all(str_end, "@#functions_body", eina_strbuf_string_get(str_bodyf)); | 847 | eina_strbuf_replace_all(str_end, "@#functions_body", eina_strbuf_string_get(str_bodyf)); |
@@ -1139,7 +883,7 @@ eo_source_generate(const char *classname, int eo_version EINA_UNUSED, Eina_Strbu | |||
1139 | 883 | ||
1140 | Eina_Strbuf *str_bodyf = eina_strbuf_new(); | 884 | Eina_Strbuf *str_bodyf = eina_strbuf_new(); |
1141 | 885 | ||
1142 | if (!eo1_source_beginning_generate(classname, buf)) goto end; | 886 | if (!eo_source_beginning_generate(classname, buf)) goto end; |
1143 | 887 | ||
1144 | //Properties | 888 | //Properties |
1145 | EINA_LIST_FOREACH(eolian_class_functions_list_get(classname, EOLIAN_PROPERTY), itr, fn) | 889 | EINA_LIST_FOREACH(eolian_class_functions_list_get(classname, EOLIAN_PROPERTY), itr, fn) |
@@ -1151,24 +895,24 @@ eo_source_generate(const char *classname, int eo_version EINA_UNUSED, Eina_Strbu | |||
1151 | 895 | ||
1152 | if (prop_write) | 896 | if (prop_write) |
1153 | { | 897 | { |
1154 | if (!eo1_bind_func_generate(classname, fn, EOLIAN_PROP_SET, str_bodyf, NULL)) goto end; | 898 | if (!eo_bind_func_generate(classname, fn, EOLIAN_PROP_SET, str_bodyf, NULL)) goto end; |
1155 | } | 899 | } |
1156 | if (prop_read) | 900 | if (prop_read) |
1157 | { | 901 | { |
1158 | if (!eo1_bind_func_generate(classname, fn, EOLIAN_PROP_GET, str_bodyf, NULL)) goto end; | 902 | if (!eo_bind_func_generate(classname, fn, EOLIAN_PROP_GET, str_bodyf, NULL)) goto end; |
1159 | } | 903 | } |
1160 | } | 904 | } |
1161 | 905 | ||
1162 | //Methods | 906 | //Methods |
1163 | EINA_LIST_FOREACH(eolian_class_functions_list_get(classname, EOLIAN_METHOD), itr, fn) | 907 | EINA_LIST_FOREACH(eolian_class_functions_list_get(classname, EOLIAN_METHOD), itr, fn) |
1164 | { | 908 | { |
1165 | if (!eo1_bind_func_generate(classname, fn, EOLIAN_UNRESOLVED, str_bodyf, NULL)) goto end; | 909 | if (!eo_bind_func_generate(classname, fn, EOLIAN_UNRESOLVED, str_bodyf, NULL)) goto end; |
1166 | } | 910 | } |
1167 | 911 | ||
1168 | eina_strbuf_append(buf, eina_strbuf_string_get(str_bodyf)); | 912 | eina_strbuf_append(buf, eina_strbuf_string_get(str_bodyf)); |
1169 | eina_strbuf_reset(str_bodyf); | 913 | eina_strbuf_reset(str_bodyf); |
1170 | 914 | ||
1171 | if (!eo1_source_end_generate(classname, buf)) goto end; | 915 | if (!eo_source_end_generate(classname, buf)) goto end; |
1172 | 916 | ||
1173 | ret = EINA_TRUE; | 917 | ret = EINA_TRUE; |
1174 | end: | 918 | end: |