diff --git a/src/tests/emotion/emotion_test_main-eo.c b/src/tests/emotion/emotion_test_main-eo.c index f5b6702d5f..c5adbe1715 100644 --- a/src/tests/emotion/emotion_test_main-eo.c +++ b/src/tests/emotion/emotion_test_main-eo.c @@ -597,7 +597,7 @@ video_obj_signal_frame_move_cb(void *data EINA_UNUSED, Evas_Object *o, const cha } } -static const Eo_Callback_Array_Item emotion_object_test_callbacks[] = { +EO_CALLBACKS_ARRAY_DEFINE(emotion_object_test_callbacks, { EMOTION_OBJECT_EVENT_FRAME_DECODE, video_obj_frame_decode_cb }, { EMOTION_OBJECT_EVENT_FRAME_RESIZE, video_obj_frame_resize_cb }, { EMOTION_OBJECT_EVENT_LENGTH_CHANGE, video_obj_length_change_cb }, @@ -608,9 +608,8 @@ static const Eo_Callback_Array_Item emotion_object_test_callbacks[] = { { EMOTION_OBJECT_EVENT_PROGRESS_CHANGE, video_obj_progress_cb }, { EMOTION_OBJECT_EVENT_REF_CHANGE, video_obj_ref_cb }, { EMOTION_OBJECT_EVENT_BUTTON_NUM_CHANGE, video_obj_button_num_cb }, - { EMOTION_OBJECT_EVENT_BUTTON_CHANGE, video_obj_button_cb }, - { NULL, NULL } -}; + { EMOTION_OBJECT_EVENT_BUTTON_CHANGE, video_obj_button_cb } +); static void init_video_object(const char *module_filename, const char *filename) @@ -653,7 +652,7 @@ init_video_object(const char *module_filename, const char *filename) edje_obj_size_min_calc(oe, &w, &h); efl_gfx_size_set(oe, w, h); - eo_event_callback_array_add(o, emotion_object_test_callbacks, oe); + eo_event_callback_array_add(o, emotion_object_test_callbacks(), oe); edje_obj_signal_callback_add(oe, "video_control", "play", video_obj_signal_play_cb, o); edje_obj_signal_callback_add(oe, "video_control", "pause", video_obj_signal_pause_cb, o); diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c index ddbe0987cc..d92ce5cf2d 100644 --- a/src/tests/eo/suite/eo_test_general.c +++ b/src/tests/eo/suite/eo_test_general.c @@ -151,42 +151,43 @@ Eina_Bool _eo_signals_cb_added_deled(void *data, const Eo_Event *event) { const Eo_Callback_Array_Item *callback_array = event->info; + const Eo_Callback_Array_Item *(*callback_data)(void) = data; - fail_if((callback_array != data) && - (callback_array->func != _eo_signals_cb_added_deled)); + fail_if((callback_data() != callback_array) && + (callback_array->func != _eo_signals_cb_added_deled)); return EO_CALLBACK_CONTINUE; } +EO_CALLBACKS_ARRAY_DEFINE(_eo_signals_callbacks, +{ EV_A_CHANGED, _eo_signals_a_changed_cb }, +{ EV_A_CHANGED, _eo_signals_a_changed_cb2 }, +{ EV_A_CHANGED, _eo_signals_a_changed_never }, +{ EO_EVENT_DEL, _eo_signals_eo_del_cb }); + START_TEST(eo_signals) { eo_init(); - static const Eo_Callback_Array_Item callbacks[] = { - { EV_A_CHANGED, _eo_signals_a_changed_cb }, - { EV_A_CHANGED, _eo_signals_a_changed_cb2 }, - { EV_A_CHANGED, _eo_signals_a_changed_never }, - { EO_EVENT_DEL, _eo_signals_eo_del_cb }, - { NULL, NULL } - }; + Eo *obj = eo_add(SIMPLE_CLASS, NULL); Eina_Bool r; - eo_event_callback_add(obj, EO_EVENT_CALLBACK_ADD, _eo_signals_cb_added_deled, callbacks); - r = eo_event_callback_add(obj, EO_EVENT_CALLBACK_DEL, _eo_signals_cb_added_deled, callbacks); + eo_event_callback_add(obj, EO_EVENT_CALLBACK_ADD, _eo_signals_cb_added_deled, &_eo_signals_callbacks); + r = eo_event_callback_add(obj, EO_EVENT_CALLBACK_DEL, _eo_signals_cb_added_deled, &_eo_signals_callbacks); fail_if(!r); - eo_event_callback_array_priority_add(obj, callbacks, -100, (void *) 1); - eo_event_callback_array_add(obj, callbacks, (void *) 3); - r = eo_event_callback_array_priority_add(obj, callbacks, -50, (void *) 2); + eo_event_callback_array_priority_add(obj, _eo_signals_callbacks(), -100, (void *) 1); + eo_event_callback_array_add(obj, _eo_signals_callbacks(), (void *) 3); + r = eo_event_callback_array_priority_add(obj, _eo_signals_callbacks(), -50, (void *) 2); fail_if(!r); simple_a_set(obj, 1); ck_assert_int_eq(_eo_signals_cb_flag, 0x3); - eo_event_callback_array_del(obj, callbacks, (void *) 1); - eo_event_callback_array_del(obj, callbacks, (void *) 2); - r = eo_event_callback_array_del(obj, callbacks, (void *) 3); + eo_event_callback_array_del(obj, _eo_signals_callbacks(), (void *) 1); + eo_event_callback_array_del(obj, _eo_signals_callbacks(), (void *) 2); + r = eo_event_callback_array_del(obj, _eo_signals_callbacks(), (void *) 3); fail_if(!r); /* Try to delete something that doesn't exist. */ - r = eo_event_callback_array_del(obj, callbacks, (void *) 4); + r = eo_event_callback_array_del(obj, _eo_signals_callbacks(), (void *) 4); fail_if(r); _eo_signals_cb_flag = 0; simple_a_set(obj, 1);