8 #include "../eunit_tests.h"
10 #define MY_CLASS MIXIN2_CLASS
13 _ab_sum_get(Eo *obj, void *class_data, va_list *list)
15 /* This cast is a hack just for the tests... */
16 Mixin2_Public_Data *pd = (Mixin2_Public_Data *) class_data;
17 int *sum = va_arg(*list, int *);
18 printf("%s %s\n", eo_class_name_get(MY_CLASS), __func__);
19 eo_do_super(obj, mixin_ab_sum_get(sum));
26 eo_do(obj, simple_a_get(&_a), simple_b_get(&_b));
27 fail_if(*sum != _a + _b + 1);
32 _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
34 eo_do_super(obj, eo_constructor());
38 _destructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
40 eo_do_super(obj, eo_destructor());
44 _class_constructor(Eo_Class *klass)
46 const Eo_Op_Func_Description func_desc[] = {
47 EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
48 EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _destructor),
49 EO_OP_FUNC(MIXIN_ID(MIXIN_SUB_ID_AB_SUM_GET), _ab_sum_get),
53 eo_class_funcs_set(klass, func_desc);
56 static const Eo_Class_Description class_desc = {
59 EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
61 sizeof(Mixin2_Public_Data),
66 EO_DEFINE_CLASS(mixin2_class_get, &class_desc, MIXIN_CLASS, NULL);