forked from enlightenment/efl
Eo: Merge in changes in how functions are registered to classes.
More information in the relevant commit itself:
7ebf9d879d
Breaks ABI and API
This commit is contained in:
commit
0b54436699
|
@ -38,7 +38,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_other_call, _other_call),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -65,7 +65,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -22,11 +22,11 @@ static void _custom_engine_layout_do(Eo *obj, void *pd, Efl_Pack *pack, const vo
|
|||
static Eina_Bool
|
||||
_custom_engine_class_initializer(Efl_Class *klass)
|
||||
{
|
||||
EFL_OPS_DEFINE(ops,
|
||||
EFL_OBJECT_OP_CLASS_FUNC(efl_pack_layout_do, _custom_engine_layout_do),
|
||||
EFL_OPS_DEFINE(class_ops,
|
||||
EFL_OBJECT_OP_FUNC(efl_pack_layout_do, _custom_engine_layout_do),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, NULL, &class_ops);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description custom_engine_class_desc = {
|
||||
|
|
|
@ -17,15 +17,25 @@ static _eolian_class_vars class_env;
|
|||
* be initialized and for future features. */
|
||||
static Eina_Hash *_funcs_params_init = NULL;
|
||||
|
||||
static const char
|
||||
tmpl_eo_ops_def[] = "\
|
||||
EFL_OPS_DEFINE(ops,@#list_op\n\
|
||||
);\n";
|
||||
|
||||
static const char
|
||||
tmpl_eo_cops_def[] = "\
|
||||
EFL_OPS_DEFINE(cops,@#list_cop\n\
|
||||
);\n";
|
||||
|
||||
static const char
|
||||
tmpl_eo_ops_desc[] = "\
|
||||
static Eina_Bool\n\
|
||||
_@#class_class_initializer(Efl_Class *klass)\n\
|
||||
{\n\
|
||||
EFL_OPS_DEFINE(ops,@#list_op\n\
|
||||
);\n\
|
||||
@#list_ops\
|
||||
@#list_cops\
|
||||
\n\
|
||||
return efl_class_functions_set(klass, &ops);\n\
|
||||
return efl_class_functions_set(klass, @#ref_ops, @#ref_cops);\n\
|
||||
}\n\n";
|
||||
|
||||
static const char
|
||||
|
@ -620,9 +630,7 @@ eo_op_desc_generate(const Eolian_Class *class, const Eolian_Function *fid, Eolia
|
|||
if (ftype == EOLIAN_PROP_GET) suffix = "_get";
|
||||
if (ftype == EOLIAN_PROP_SET) suffix = "_set";
|
||||
Eina_Bool is_virtual_pure = eolian_function_is_virtual_pure(fid, ftype);
|
||||
const char *class_str = "";
|
||||
if (eolian_function_is_class(fid)) class_str = "CLASS_";
|
||||
eina_strbuf_append_printf(buf, "\n EFL_OBJECT_OP_%sFUNC(%s, ", class_str, func_env.lower_eo_func);
|
||||
eina_strbuf_append_printf(buf, "\n EFL_OBJECT_OP_FUNC(%s, ", func_env.lower_eo_func);
|
||||
if (!is_virtual_pure)
|
||||
{
|
||||
Eolian_Function_Type ftype2 = (Eolian_Function_Type) eina_hash_find(_funcs_params_init, funcname);
|
||||
|
@ -714,6 +722,7 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
Eina_Strbuf *str_end = eina_strbuf_new();
|
||||
Eina_Strbuf *tmpbuf = eina_strbuf_new();
|
||||
Eina_Strbuf *str_op = eina_strbuf_new();
|
||||
Eina_Strbuf *str_cop = eina_strbuf_new();
|
||||
Eina_Strbuf *str_bodyf = eina_strbuf_new();
|
||||
|
||||
_template_fill(str_end, tmpl_eo_src, class, NULL, NULL, EINA_TRUE);
|
||||
|
@ -813,8 +822,8 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
goto end;
|
||||
}
|
||||
|
||||
const char *class_str = "";
|
||||
if (eolian_function_is_class(fnid)) class_str = "CLASS_";
|
||||
Eina_Strbuf *wbuf = str_op;
|
||||
if (eolian_function_is_class(fnid)) wbuf = str_cop;
|
||||
|
||||
switch (ftype)
|
||||
{
|
||||
|
@ -822,8 +831,8 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
if (ftype != EOLIAN_PROP_GET)
|
||||
{
|
||||
Eina_Stringshare *rets = eolian_function_full_c_name_get(fnid, EOLIAN_PROP_SET, EINA_FALSE);
|
||||
eina_strbuf_append_printf(str_op, "\n EFL_OBJECT_OP_%sFUNC(%s, %s_%s_set),",
|
||||
class_str, rets, implname, funcname);
|
||||
eina_strbuf_append_printf(wbuf, "\n EFL_OBJECT_OP_FUNC(%s, %s_%s_set),",
|
||||
rets, implname, funcname);
|
||||
eo_bind_func_generate(class, fnid, EOLIAN_PROP_SET, str_bodyf, impl_desc, &impl_env);
|
||||
eina_stringshare_del(rets);
|
||||
}
|
||||
|
@ -831,8 +840,8 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
if (ftype != EOLIAN_PROP_SET)
|
||||
{
|
||||
Eina_Stringshare *rets = eolian_function_full_c_name_get(fnid, EOLIAN_PROP_GET, EINA_FALSE);
|
||||
eina_strbuf_append_printf(str_op, "\n EFL_OBJECT_OP_%sFUNC(%s, %s_%s_get),",
|
||||
class_str, rets, implname, funcname);
|
||||
eina_strbuf_append_printf(wbuf, "\n EFL_OBJECT_OP_FUNC(%s, %s_%s_get),",
|
||||
rets, implname, funcname);
|
||||
eo_bind_func_generate(class, fnid, EOLIAN_PROP_GET, str_bodyf, impl_desc, &impl_env);
|
||||
eina_stringshare_del(rets);
|
||||
}
|
||||
|
@ -840,8 +849,8 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
default:
|
||||
{
|
||||
Eina_Stringshare *rets = eolian_function_full_c_name_get(fnid, ftype, EINA_FALSE);
|
||||
eina_strbuf_append_printf(str_op, "\n EFL_OBJECT_OP_%sFUNC(%s, %s_%s),",
|
||||
class_str, rets, implname, funcname);
|
||||
eina_strbuf_append_printf(wbuf, "\n EFL_OBJECT_OP_FUNC(%s, %s_%s),",
|
||||
rets, implname, funcname);
|
||||
eo_bind_func_generate(class, fnid, ftype, str_bodyf, impl_desc, &impl_env);
|
||||
eina_stringshare_del(rets);
|
||||
break;
|
||||
|
@ -860,15 +869,18 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
Eolian_Function_Type ftype = EOLIAN_UNRESOLVED;
|
||||
const Eolian_Function *fid = eolian_implement_function_get(impl, &ftype);
|
||||
|
||||
Eina_Strbuf *wbuf = str_op;
|
||||
if (eolian_function_is_class(fid)) wbuf = str_cop;
|
||||
|
||||
Eina_Bool prop_read = (ftype == EOLIAN_PROPERTY || ftype == EOLIAN_PROP_GET);
|
||||
Eina_Bool prop_write = (ftype == EOLIAN_PROPERTY || ftype == EOLIAN_PROP_SET);
|
||||
|
||||
if (!prop_read && !prop_write && !eolian_function_is_legacy_only(fid, EOLIAN_METHOD))
|
||||
_desc_generate(class, fid, EOLIAN_METHOD, tmpbuf, str_op);
|
||||
_desc_generate(class, fid, EOLIAN_METHOD, tmpbuf, wbuf);
|
||||
if (prop_write && !eolian_function_is_legacy_only(fid, EOLIAN_PROP_SET))
|
||||
_desc_generate(class, fid, EOLIAN_PROP_SET, tmpbuf, str_op);
|
||||
_desc_generate(class, fid, EOLIAN_PROP_SET, tmpbuf, wbuf);
|
||||
if (prop_read && !eolian_function_is_legacy_only(fid, EOLIAN_PROP_GET))
|
||||
_desc_generate(class, fid, EOLIAN_PROP_GET, tmpbuf, str_op);
|
||||
_desc_generate(class, fid, EOLIAN_PROP_GET, tmpbuf, wbuf);
|
||||
}
|
||||
eina_iterator_free(itr);
|
||||
}
|
||||
|
@ -889,14 +901,50 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
if (eina_strbuf_length_get(tmpbuf) == 0) eina_strbuf_append(tmpbuf, "NULL, ");
|
||||
eina_strbuf_replace_all(str_end, "@#list_inherit", eina_strbuf_string_get(tmpbuf));
|
||||
|
||||
Eina_Strbuf *ops_buf = eina_strbuf_new(), *cops_buf = eina_strbuf_new();
|
||||
|
||||
if (eina_strbuf_length_get(str_op))
|
||||
{
|
||||
size_t stroplen = eina_strbuf_length_get(str_op);
|
||||
if (eina_strbuf_string_get(str_op)[stroplen - 1] == ',')
|
||||
eina_strbuf_remove(str_op, stroplen - 1, stroplen);
|
||||
_template_fill(ops_buf, tmpl_eo_ops_def, class, NULL, NULL, EINA_TRUE);
|
||||
eina_strbuf_replace_all(ops_buf, "@#list_op", eina_strbuf_string_get(str_op));
|
||||
}
|
||||
|
||||
if (eina_strbuf_length_get(str_cop))
|
||||
{
|
||||
size_t strcoplen = eina_strbuf_length_get(str_cop);
|
||||
if (eina_strbuf_string_get(str_cop)[strcoplen - 1] == ',')
|
||||
eina_strbuf_remove(str_cop, strcoplen - 1, strcoplen);
|
||||
_template_fill(cops_buf, tmpl_eo_cops_def, class, NULL, NULL, EINA_TRUE);
|
||||
eina_strbuf_replace_all(cops_buf, "@#list_cop", eina_strbuf_string_get(str_cop));
|
||||
}
|
||||
|
||||
if (eina_strbuf_length_get(ops_buf) || eina_strbuf_length_get(cops_buf))
|
||||
{
|
||||
Eina_Strbuf *ops_desc = eina_strbuf_new();
|
||||
_template_fill(ops_desc, tmpl_eo_ops_desc, class, NULL, NULL, EINA_TRUE);
|
||||
eina_strbuf_replace_all(ops_desc, "@#list_op", eina_strbuf_string_get(str_op));
|
||||
if (eina_strbuf_length_get(ops_buf))
|
||||
{
|
||||
eina_strbuf_replace_all(ops_desc, "@#list_ops", eina_strbuf_string_get(ops_buf));
|
||||
eina_strbuf_replace_all(ops_desc, "@#ref_ops", "&ops");
|
||||
}
|
||||
else
|
||||
{
|
||||
eina_strbuf_replace_all(ops_desc, "@#list_ops", "");
|
||||
eina_strbuf_replace_all(ops_desc, "@#ref_ops", "NULL");
|
||||
}
|
||||
if (eina_strbuf_length_get(cops_buf))
|
||||
{
|
||||
eina_strbuf_replace_all(ops_desc, "@#list_cops", eina_strbuf_string_get(cops_buf));
|
||||
eina_strbuf_replace_all(ops_desc, "@#ref_cops", "&cops");
|
||||
}
|
||||
else
|
||||
{
|
||||
eina_strbuf_replace_all(ops_desc, "@#list_cops", "");
|
||||
eina_strbuf_replace_all(ops_desc, "@#ref_cops", "NULL");
|
||||
}
|
||||
eina_strbuf_replace_all(str_end, "@#ops_desc", eina_strbuf_string_get(ops_desc));
|
||||
eina_strbuf_free(ops_desc);
|
||||
eina_strbuf_reset(tmpbuf);
|
||||
|
@ -909,6 +957,9 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
eina_strbuf_replace_all(str_end, "@#init_name", "NULL");
|
||||
}
|
||||
|
||||
eina_strbuf_free(ops_buf);
|
||||
eina_strbuf_free(cops_buf);
|
||||
|
||||
eina_strbuf_replace_all(str_end, "@#functions_body", eina_strbuf_string_get(str_bodyf));
|
||||
|
||||
const char *data_type = eolian_class_data_type_get(class);
|
||||
|
@ -929,6 +980,7 @@ eo_source_end_generate(const Eolian_Class *class, Eina_Strbuf *buf)
|
|||
end:
|
||||
eina_strbuf_free(tmpbuf);
|
||||
eina_strbuf_free(str_op);
|
||||
eina_strbuf_free(str_cop);
|
||||
eina_strbuf_free(str_bodyf);
|
||||
eina_strbuf_free(str_end);
|
||||
|
||||
|
|
|
@ -168,11 +168,11 @@ static void _custom_table_calc(Eo *obj, Custom_Table_Data *pd);
|
|||
static Eina_Bool
|
||||
_custom_table_initializer(Efl_Class *klass)
|
||||
{
|
||||
EFL_OPS_DEFINE(ops,
|
||||
EFL_OBJECT_OP_CLASS_FUNC(efl_canvas_group_calculate, _custom_table_calc)
|
||||
EFL_OPS_DEFINE(class_ops,
|
||||
EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _custom_table_calc)
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, NULL, &class_ops);
|
||||
};
|
||||
|
||||
static const Efl_Class_Description custom_table_class_desc = {
|
||||
|
|
|
@ -139,24 +139,6 @@ EAPI extern Eina_Lock _efl_class_creation_lock;
|
|||
*/
|
||||
EAPI extern unsigned int _efl_object_init_generation;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* An enum representing the possible types of an Op.
|
||||
*/
|
||||
enum _Efl_Object_Op_Type
|
||||
{
|
||||
EFL_OBJECT_OP_TYPE_INVALID = -1, /**< Invalid op. */
|
||||
EFL_OBJECT_OP_TYPE_REGULAR = 0, /**< Regular op. */
|
||||
EFL_OBJECT_OP_TYPE_CLASS, /**< Class op - a class op. Like static in Java/C++. */
|
||||
};
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @typedef Efl_Object_Op_Type
|
||||
* A convenience typedef for #_Efl_Object_Op_Type.
|
||||
*/
|
||||
typedef enum _Efl_Object_Op_Type Efl_Object_Op_Type;
|
||||
|
||||
/**
|
||||
* @typedef Efl_Del_Intercept
|
||||
*
|
||||
|
@ -374,7 +356,6 @@ typedef struct _Efl_Op_Description
|
|||
{
|
||||
void *api_func; /**< The EAPI function offering this op. (The name of the func on windows) */
|
||||
void *func; /**< The static function to call for the op. */
|
||||
Efl_Object_Op_Type op_type; /**< The type of the Op. */
|
||||
} Efl_Op_Description;
|
||||
|
||||
/**
|
||||
|
@ -427,14 +408,15 @@ EAPI const Efl_Class *efl_class_new(const Efl_Class_Description *desc, const Efl
|
|||
/**
|
||||
* @brief Set the functions of a class
|
||||
* @param klass_id the class whose functions we are setting.
|
||||
* @param ops The function structure we are setting.
|
||||
* @param object_ops The function structure we are setting for object functions
|
||||
* @param class_ops The function structure we are setting for class functions
|
||||
* @return True on success, False otherwise.
|
||||
*
|
||||
* This should only be called from within the initializer function.
|
||||
*
|
||||
* @see #EFL_DEFINE_CLASS
|
||||
*/
|
||||
EAPI Eina_Bool efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *ops);
|
||||
EAPI Eina_Bool efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ops, const Efl_Object_Ops *class_ops);
|
||||
|
||||
/**
|
||||
* @brief Override Eo functions of this object.
|
||||
|
@ -850,8 +832,7 @@ typedef struct _Efl_Object_Call_Cache
|
|||
# define _EFL_OBJECT_OP_API_ENTRY(a) #a
|
||||
#endif
|
||||
|
||||
#define EFL_OBJECT_OP_FUNC(_api, _private) { _EFL_OBJECT_OP_API_ENTRY(_api), (void*)_private, EFL_OBJECT_OP_TYPE_REGULAR }
|
||||
#define EFL_OBJECT_OP_CLASS_FUNC(_api, _private) { _EFL_OBJECT_OP_API_ENTRY(_api), (void*)_private, EFL_OBJECT_OP_TYPE_CLASS }
|
||||
#define EFL_OBJECT_OP_FUNC(_api, _private) { _EFL_OBJECT_OP_API_ENTRY(_api), (void*)_private }
|
||||
|
||||
// returns the OP id corresponding to the given api_func
|
||||
EAPI Efl_Object_Op _efl_object_api_op_id_get(const void *api_func);
|
||||
|
|
|
@ -608,15 +608,15 @@ _efl_object_api_op_id_get(const void *api_func)
|
|||
/* klass is the klass we are working on. hierarchy_klass is the class whe should
|
||||
* use when validating. */
|
||||
static Eina_Bool
|
||||
_eo_class_funcs_set(Eo_Vtable *vtable, const Efl_Object_Ops *ops, const _Efl_Class *hierarchy_klass, const _Efl_Class *klass, Eina_Bool override_only EINA_UNUSED)
|
||||
_eo_class_funcs_set(Eo_Vtable *vtable, const Efl_Object_Ops *ops, const _Efl_Class *hierarchy_klass, const _Efl_Class *klass, Efl_Object_Op id_offset, Eina_Bool override_only)
|
||||
{
|
||||
unsigned int i;
|
||||
int op_id;
|
||||
Efl_Object_Op op_id;
|
||||
const void *last_api_func;
|
||||
const Efl_Op_Description *op_desc;
|
||||
const Efl_Op_Description *op_descs;
|
||||
|
||||
op_id = hierarchy_klass->base_id;
|
||||
op_id = hierarchy_klass->base_id + id_offset;
|
||||
op_descs = ops->descs;
|
||||
|
||||
DBG("Set functions for class '%s':%p", klass->desc->name, klass);
|
||||
|
@ -635,7 +635,7 @@ _eo_class_funcs_set(Eo_Vtable *vtable, const Efl_Object_Ops *ops, const _Efl_Cla
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
if ((op_desc->op_type == EFL_OBJECT_OP_TYPE_REGULAR) || (op_desc->op_type == EFL_OBJECT_OP_TYPE_CLASS))
|
||||
/* Get the opid for the function. */
|
||||
{
|
||||
if (_eo_api_func_equal(op_desc->api_func, last_api_func))
|
||||
{
|
||||
|
@ -667,13 +667,6 @@ _eo_class_funcs_set(Eo_Vtable *vtable, const Efl_Object_Ops *ops, const _Efl_Cla
|
|||
}
|
||||
}
|
||||
|
||||
if (op == EFL_NOOP)
|
||||
{
|
||||
ERR("Class '%s': Invalid op 'EFL_NOOP' (%p->%p '%s').",
|
||||
klass->desc->name, op_desc->api_func, op_desc->func, _eo_op_desc_name_get(op_desc));
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
DBG("%p->%p '%s'", op_desc->api_func, op_desc->func, _eo_op_desc_name_get(op_desc));
|
||||
|
||||
if (!_vtable_func_set(vtable, klass, op, op_desc->func))
|
||||
|
@ -686,10 +679,11 @@ _eo_class_funcs_set(Eo_Vtable *vtable, const Efl_Object_Ops *ops, const _Efl_Cla
|
|||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *ops)
|
||||
efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ops, const Efl_Object_Ops *class_ops)
|
||||
{
|
||||
EO_CLASS_POINTER_RETURN_VAL(klass_id, klass, EINA_FALSE);
|
||||
Efl_Object_Ops empty_ops = { 0 };
|
||||
|
||||
if (klass->functions_set)
|
||||
{
|
||||
ERR("Class %s already had its functions set..", klass->desc->name);
|
||||
|
@ -697,12 +691,17 @@ efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *ops)
|
|||
}
|
||||
klass->functions_set = EINA_TRUE;
|
||||
|
||||
if (!ops)
|
||||
if (!object_ops)
|
||||
{
|
||||
ops = &empty_ops;
|
||||
object_ops = &empty_ops;
|
||||
}
|
||||
|
||||
klass->ops_count = ops->count;
|
||||
if (!class_ops)
|
||||
{
|
||||
class_ops = &empty_ops;
|
||||
}
|
||||
|
||||
klass->ops_count = object_ops->count + class_ops->count;
|
||||
|
||||
klass->base_id = _eo_ops_last_id;
|
||||
_eo_ops_last_id += klass->ops_count + 1;
|
||||
|
@ -723,7 +722,8 @@ efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *ops)
|
|||
}
|
||||
}
|
||||
|
||||
return _eo_class_funcs_set(&klass->vtable, ops, klass, klass, EINA_FALSE);
|
||||
return _eo_class_funcs_set(&klass->vtable, object_ops, klass, klass, 0, EINA_FALSE) &&
|
||||
_eo_class_funcs_set(&klass->vtable, class_ops, klass, klass, object_ops->count, EINA_FALSE);
|
||||
}
|
||||
|
||||
EAPI Eo *
|
||||
|
@ -1374,7 +1374,7 @@ efl_class_new(const Efl_Class_Description *desc, const Efl_Class *parent_id, ...
|
|||
/* If functions haven't been set, invoke it with an empty ops structure. */
|
||||
if (!klass->functions_set)
|
||||
{
|
||||
efl_class_functions_set(_eo_class_id_get(klass), NULL);
|
||||
efl_class_functions_set(_eo_class_id_get(klass), NULL, NULL);
|
||||
}
|
||||
|
||||
/* Mark which classes we implement */
|
||||
|
@ -1437,7 +1437,7 @@ efl_object_override(Eo *eo_id, const Efl_Object_Ops *ops)
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
if (!_eo_class_funcs_set(obj->vtable, ops, obj->klass, klass, EINA_TRUE))
|
||||
if (!_eo_class_funcs_set(obj->vtable, ops, obj->klass, klass, 0, EINA_TRUE))
|
||||
{
|
||||
ERR("Failed to override functions for %p", eo_id);
|
||||
return EINA_FALSE;
|
||||
|
|
|
@ -25,7 +25,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(inherit_prot_print, _prot_print),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -39,7 +39,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -44,7 +44,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_get, _a_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -172,7 +172,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_get, _a_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -46,7 +46,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_destructor, _destructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -95,10 +95,10 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
EFL_OBJECT_OP_FUNC(simple_a_get, _a_get),
|
||||
EFL_OBJECT_OP_FUNC(simple_b_set, _b_set),
|
||||
EFL_OBJECT_OP_FUNC(simple_b_get, _b_get),
|
||||
EFL_OBJECT_OP_FUNC(simple_b_get, _b_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -23,7 +23,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_constructor, _constructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -21,7 +21,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_constructor, _constructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -21,7 +21,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_destructor, _destructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -21,7 +21,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_destructor, _destructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -25,7 +25,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_constructor, _constructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -65,11 +65,13 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OPS_DEFINE(ops,
|
||||
EFL_OBJECT_OP_FUNC(inherit2_print, _print),
|
||||
EFL_OBJECT_OP_FUNC(inherit2_print2, _print2),
|
||||
EFL_OBJECT_OP_CLASS_FUNC(simple_class_print, _class_print),
|
||||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
);
|
||||
EFL_OPS_DEFINE(cops,
|
||||
EFL_OBJECT_OP_FUNC(simple_class_print, _class_print),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, &cops);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -23,7 +23,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -66,7 +66,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_class_print2, _class_print2),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -17,7 +17,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(interface_ab_sum_get, NULL),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -18,7 +18,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(interface2_ab_sum_get2, NULL),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -68,7 +68,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(interface2_ab_sum_get2, _ab_sum_get2),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -26,7 +26,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_get, _a_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -41,7 +41,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(mixin_ab_sum_get, _ab_sum_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -55,7 +55,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(mixin_ab_sum_get, _ab_sum_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -54,7 +54,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(mixin_ab_sum_get, _ab_sum_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -47,7 +47,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_b_get, _b_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -79,7 +79,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -29,7 +29,7 @@ _destructor_unref_class_initializer(Efl_Class *klass2)
|
|||
EFL_OBJECT_OP_FUNC(efl_destructor, _destructor_unref),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass2, &ops);
|
||||
return efl_class_functions_set(klass2, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(efl_destructor_unref)
|
||||
|
|
|
@ -209,7 +209,7 @@ _null_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(NULL, _null_fct),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(eo_null_api)
|
||||
|
@ -248,7 +248,7 @@ _redefined_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(null_fct, NULL),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(eo_api_redefined)
|
||||
|
@ -287,7 +287,7 @@ _dich_func_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, NULL),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(eo_dich_func_override)
|
||||
|
|
|
@ -95,14 +95,16 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(simple_a_set, _a_set),
|
||||
EFL_OBJECT_OP_FUNC(simple_a_get, _a_get),
|
||||
EFL_OBJECT_OP_FUNC(simple_a_print, _a_print),
|
||||
EFL_OBJECT_OP_CLASS_FUNC(simple_class_hi_print, _class_hi_print),
|
||||
EFL_OBJECT_OP_FUNC(simple_recursive, _recursive),
|
||||
EFL_OBJECT_OP_FUNC(simple_part_get, _part_get),
|
||||
EFL_OBJECT_OP_FUNC(simple_pure_virtual, NULL),
|
||||
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _dbg_info_get),
|
||||
);
|
||||
EFL_OPS_DEFINE(cops,
|
||||
EFL_OBJECT_OP_FUNC(simple_class_hi_print, _class_hi_print),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, &cops);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
@ -129,11 +131,11 @@ EFL_FUNC_BODY_CONST(simple2_class_beef_get, int, 0);
|
|||
static Eina_Bool
|
||||
_class_initializer2(Efl_Class *klass)
|
||||
{
|
||||
EFL_OPS_DEFINE(ops,
|
||||
EFL_OBJECT_OP_CLASS_FUNC(simple2_class_beef_get, _beef_get),
|
||||
EFL_OPS_DEFINE(cops,
|
||||
EFL_OBJECT_OP_FUNC(simple2_class_beef_get, _beef_get),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, NULL, &cops);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc2 = {
|
||||
|
@ -163,7 +165,7 @@ _searchable_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_provider_find, _interface_get)
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc_searchable = {
|
||||
|
|
|
@ -32,7 +32,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_constructor, _singleton_efl_constructor),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -65,7 +65,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(domain_a_get, _a_get),
|
||||
EFL_OBJECT_OP_FUNC(domain_recursive, _recursive)
|
||||
);
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -436,7 +436,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_destructor, _man_des),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(eo_man_free)
|
||||
|
@ -990,7 +990,7 @@ _multi_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(multi_class_hi_print, _class_hi_print),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(eo_multiple_do)
|
||||
|
@ -1169,7 +1169,7 @@ _add_failures_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_finalize, _efl_add_failures_finalize),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
START_TEST(efl_add_failures)
|
||||
|
|
|
@ -69,7 +69,7 @@ _class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(thread_test_try_swap_stack, _try_swap_stack),
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description class_desc = {
|
||||
|
|
|
@ -34,7 +34,7 @@ _class_simple_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(efl_canvas_object_simple_foo, __eolian_class_simple_foo)
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description _class_simple_class_desc = {
|
||||
|
@ -47,4 +47,4 @@ static const Efl_Class_Description _class_simple_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(class_simple_class_get, &_class_simple_class_desc, NULL, NULL);
|
||||
EFL_DEFINE_CLASS(class_simple_class_get, &_class_simple_class_desc, NULL, NULL);
|
||||
|
|
|
@ -70,7 +70,7 @@ _override_class_initializer(Efl_Class *klass)
|
|||
EFL_OBJECT_OP_FUNC(override_foo, NULL)
|
||||
);
|
||||
|
||||
return efl_class_functions_set(klass, &ops);
|
||||
return efl_class_functions_set(klass, &ops, NULL);
|
||||
}
|
||||
|
||||
static const Efl_Class_Description _override_class_desc = {
|
||||
|
@ -83,4 +83,4 @@ static const Efl_Class_Description _override_class_desc = {
|
|||
NULL
|
||||
};
|
||||
|
||||
EFL_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);
|
||||
EFL_DEFINE_CLASS(override_class_get, &_override_class_desc, BASE_CLASS, NULL);
|
||||
|
|
Loading…
Reference in New Issue