tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e71e6561eeb5f0a10e5b08e44d2977e58bfd682b

commit e71e6561eeb5f0a10e5b08e44d2977e58bfd682b
Author: Tom Hacohen <t...@stosb.com>
Date:   Mon Feb 29 10:18:40 2016 +0000

    Eo callbacks: Migrate all of the EFL to the new event cb signatures.
---
 src/benchmarks/eo/eo_bench_callbacks.c             |  2 +-
 src/examples/ecore/ecore_audio_playback.c          | 12 +--
 src/examples/ecore/ecore_audio_to_ogg.c            |  8 +-
 src/examples/eo/evas/evas_test.c                   |  6 +-
 src/examples/evas/evas-3d-shadows.c                | 12 +--
 src/lib/ecore_audio/ecore_audio_obj_out_pulse.c    | 14 ++--
 src/lib/ecore_con/ecore_con_url.c                  | 18 ++---
 src/lib/ecore_evas/ecore_evas.c                    | 14 +---
 src/lib/ector/cairo/ector_renderer_cairo_shape.c   |  2 +-
 src/lib/ector/gl/ector_renderer_gl_shape.c         |  2 +-
 .../ector/software/ector_renderer_software_shape.c |  4 +-
 src/lib/edje/edje_callbacks.c                      | 59 +++++++--------
 src/lib/edje/edje_multisense.c                     |  8 +-
 src/lib/edje/edje_private.h                        |  2 +-
 src/lib/edje/edje_program.c                        |  3 +-
 src/lib/eo/eo_base_class.c                         |  4 +-
 src/lib/evas/canvas/evas_callbacks.c               |  8 +-
 src/lib/evas/canvas/evas_canvas3d_node.c           | 12 +--
 src/lib/evas/canvas/evas_canvas3d_node_callback.h  |  6 +-
 src/lib/evas/canvas/evas_clip.c                    |  6 +-
 src/lib/evas/canvas/evas_filter_mixin.c            |  4 +-
 src/lib/evas/canvas/evas_object_box.c              |  8 +-
 src/lib/evas/canvas/evas_object_main.c             | 21 ++----
 src/lib/evas/canvas/evas_object_smart.c            |  4 +-
 src/lib/evas/canvas/evas_object_table.c            |  6 +-
 src/lib/evas/canvas/evas_object_textblock.c        |  6 +-
 src/lib/evas/canvas/evas_object_vg.c               |  5 +-
 src/lib/evas/canvas/evas_vg_node.c                 |  6 +-
 src/lib/evas/canvas/evas_vg_root_node.c            |  6 +-
 src/modules/ethumb/emotion/emotion.c               |  9 +--
 .../evas/engines/gl_common/evas_gl_preload.c       |  5 +-
 src/tests/ecore/ecore_test_ecore_audio.c           |  8 +-
 src/tests/eio/eio_model_test_file.c                | 24 +++---
 src/tests/eio/eio_model_test_monitor_add.c         | 26 +++----
 src/tests/eldbus/eldbus_test_eldbus_model.c        | 11 +--
 src/tests/emotion/emotion_test_main-eo.c           | 86 +++++++++-------------
 .../eo/composite_objects/composite_objects_main.c  |  6 +-
 src/tests/eo/signals/signals_main.c                | 16 ++--
 src/tests/eo/signals/signals_simple.c              | 20 ++---
 src/tests/eo/suite/eo_test_general.c               | 12 +--
 40 files changed, 210 insertions(+), 281 deletions(-)

diff --git a/src/benchmarks/eo/eo_bench_callbacks.c 
b/src/benchmarks/eo/eo_bench_callbacks.c
index fde611e..5f67559 100644
--- a/src/benchmarks/eo/eo_bench_callbacks.c
+++ b/src/benchmarks/eo/eo_bench_callbacks.c
@@ -7,7 +7,7 @@
 #include "class_simple.h"
 
 static Eina_Bool
-_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    return EO_CALLBACK_CONTINUE;
 }
diff --git a/src/examples/ecore/ecore_audio_playback.c 
b/src/examples/ecore/ecore_audio_playback.c
index 78c98a3..95ab90a 100644
--- a/src/examples/ecore/ecore_audio_playback.c
+++ b/src/examples/ecore/ecore_audio_playback.c
@@ -191,17 +191,17 @@ handle_input(void *data EINA_UNUSED, Ecore_Fd_Handler 
*handler)
    return EINA_TRUE;
 }
 
-static Eina_Bool _play_finished(void *data EINA_UNUSED, Eo *in, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _play_finished(void *data EINA_UNUSED, const Eo_Event *event)
 {
   const char *name;
   Eina_Bool ret;
 
-  eo_do(in, ecore_audio_obj_name_get(&name));
+  eo_do(event->obj, ecore_audio_obj_name_get(&name));
   printf("Done: %s\n", name);
 
-  inputs = eina_list_remove(inputs, in);
-  eo_do(out, ret = ecore_audio_obj_out_input_detach(in));
-  eo_del(in);
+  inputs = eina_list_remove(inputs, event->obj);
+  eo_do(out, ret = ecore_audio_obj_out_input_detach(event->obj));
+  eo_del(event->obj);
 
   if (!ret)
     printf("Could not detach input %s\n", name);
@@ -210,7 +210,7 @@ static Eina_Bool _play_finished(void *data EINA_UNUSED, Eo 
*in, const Eo_Event_D
   if (eina_list_count(inputs) > 0)
     {
       const char *name;
-      in = (Eo *)eina_list_data_get(inputs);
+      Eo *in = (Eo *)eina_list_data_get(inputs);
 
       eo_do(in, ecore_audio_obj_name_get(&name));
       printf("Start: %s\n", name);
diff --git a/src/examples/ecore/ecore_audio_to_ogg.c 
b/src/examples/ecore/ecore_audio_to_ogg.c
index 7048ed5..9d3162a 100644
--- a/src/examples/ecore/ecore_audio_to_ogg.c
+++ b/src/examples/ecore/ecore_audio_to_ogg.c
@@ -15,16 +15,16 @@
 double volume = 1;
 Eina_List *inputs = NULL;
 
-static Eina_Bool _play_finished(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _play_finished(void *data EINA_UNUSED, const Eo_Event *event)
 {
   const char *name;
   Eo *out;
 
-  eo_do(obj, ecore_audio_obj_name_get(&name));
+  eo_do(event->obj, ecore_audio_obj_name_get(&name));
   printf("Done: %s\n", name);
 
-  eo_do(obj, ecore_audio_obj_in_output_get(&out));
-  eo_del(obj);
+  eo_do(event->obj, ecore_audio_obj_in_output_get(&out));
+  eo_del(event->obj);
   eo_del(out);
 
   ecore_main_loop_quit();
diff --git a/src/examples/eo/evas/evas_test.c b/src/examples/eo/evas/evas_test.c
index 1502e31..dca7a94 100644
--- a/src/examples/eo/evas/evas_test.c
+++ b/src/examples/eo/evas/evas_test.c
@@ -11,11 +11,9 @@
 #include "evas_elw_win.h"
 
 Eina_Bool
-_btn_clicked_cb(void *data, Eo *obj, const Eo_Event_Description *desc, void 
*event_info)
+_btn_clicked_cb(void *data, const Eo_Event *event)
 {
-   (void) obj;
-   (void) event_info;
-   const Eo_Class *klass = eo_class_get(obj);
+   const Eo_Class *klass = eo_class_get(event->obj);
    printf("%s obj-type:'%s' data:'%s'\n", desc->name, 
eo_class_name_get(klass), (const char *) data);
 
    return EO_CALLBACK_CONTINUE;
diff --git a/src/examples/evas/evas-3d-shadows.c 
b/src/examples/evas/evas-3d-shadows.c
index 179d182..8fe1495 100644
--- a/src/examples/evas/evas-3d-shadows.c
+++ b/src/examples/evas/evas-3d-shadows.c
@@ -79,17 +79,17 @@ typedef struct _Scene_Data
 } Scene_Data;
 
 Eina_Bool
-_cb_clicked(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+_cb_clicked(void *data EINA_UNUSED, const Eo_Event *event)
 {
    Eina_List *meshes = NULL, *l;
    Evas_Canvas3D_Mesh *m;
    Evas_Canvas3D_Node *billboard = NULL;
-   eo_do((Evas_Canvas3D_Node *)event_info, meshes = (Eina_List 
*)evas_canvas3d_node_mesh_list_get());
+   eo_do((Evas_Canvas3D_Node *)event->event_info, meshes = (Eina_List 
*)evas_canvas3d_node_mesh_list_get());
    EINA_LIST_FOREACH(meshes, l, m)
      {
         eo_do(m, 
evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE));
      }
-   if (choosed_node != (Evas_Canvas3D_Node *)event_info)
+   if (choosed_node != (Evas_Canvas3D_Node *)event->event_info)
      {
         eo_do(choosed_node, billboard = 
evas_canvas3d_node_billboard_target_get());
         if (!billboard)
@@ -100,18 +100,18 @@ _cb_clicked(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, 
const Eo_Event_Descript
                   eo_do(m, 
evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
                }
           }
-        choosed_node = (Evas_Canvas3D_Node *)event_info;
+        choosed_node = (Evas_Canvas3D_Node *)event->event_info;
      }
 
    return EINA_TRUE;
 }
 
 Eina_Bool
-_cb_collision(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+_cb_collision(void *data EINA_UNUSED, const Eo_Event *event)
 {
    Eina_List *meshes = NULL, *l;
    Evas_Canvas3D_Mesh *m;
-   eo_do((Evas_Canvas3D_Node *)event_info, meshes = (Eina_List 
*)evas_canvas3d_node_mesh_list_get());
+   eo_do((Evas_Canvas3D_Node *)event->event_info, meshes = (Eina_List 
*)evas_canvas3d_node_mesh_list_get());
    EINA_LIST_FOREACH(meshes, l, m)
      {
         eo_do(m, 
evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE));
diff --git a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c 
b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
index eab7464..2c869fd 100644
--- a/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
+++ b/src/lib/ecore_audio/ecore_audio_obj_out_pulse.c
@@ -90,16 +90,16 @@ static void _write_cb(pa_stream *stream, size_t len, void 
*data)
     }
 }
 
-static Eina_Bool _update_samplerate_cb(void *data EINA_UNUSED, Eo *eo_obj, 
const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _update_samplerate_cb(void *data EINA_UNUSED, const Eo_Event 
*event)
 {
   pa_stream *stream = NULL;
   int samplerate = 0;
   double speed = 0;
 
-  eo_do(eo_obj, samplerate = ecore_audio_obj_in_samplerate_get());
-  eo_do(eo_obj, speed = ecore_audio_obj_in_speed_get());
+  eo_do(event->obj, samplerate = ecore_audio_obj_in_samplerate_get());
+  eo_do(event->obj, speed = ecore_audio_obj_in_speed_get());
 
-  eo_do(eo_obj, stream = eo_key_data_get("pulse_data"));
+  eo_do(event->obj, stream = eo_key_data_get("pulse_data"));
 
   pa_operation_unref(pa_stream_update_sample_rate(stream, samplerate * speed, 
NULL, NULL));
 
@@ -148,12 +148,12 @@ static Eina_Bool _input_attach_internal(Eo *eo_obj, Eo 
*in)
   return ret;
 }
 
-static Eina_Bool _delayed_attach_cb(void *data, Eo *eo_obj, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _delayed_attach_cb(void *data, const Eo_Event *event)
 {
   Eo *in = data;
-  eo_do(eo_obj, 
eo_event_callback_del(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, 
_delayed_attach_cb, in));
+  eo_do(event->obj, 
eo_event_callback_del(ECORE_AUDIO_OUT_PULSE_EVENT_CONTEXT_READY, 
_delayed_attach_cb, in));
 
-  _input_attach_internal(eo_obj, in);
+  _input_attach_internal(event->obj, in);
 
   return EINA_TRUE;
 }
diff --git a/src/lib/ecore_con/ecore_con_url.c 
b/src/lib/ecore_con/ecore_con_url.c
index d40fdc5..049d4f2 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -162,9 +162,9 @@ ecore_con_url_pipeline_get(void)
 extern Ecore_Con_Socks *_ecore_con_proxy_global;
 
 static Eina_Bool
-_efl_network_url_event_complete_cb(void *data EINA_UNUSED, Eo *child, const 
Eo_Event_Description *desc EINA_UNUSED, void *einfo)
+_efl_network_url_event_complete_cb(void *data EINA_UNUSED, const Eo_Event 
*event)
 {
-   Ecore_Con_Event_Url_Complete *e, *f = einfo;
+   Ecore_Con_Event_Url_Complete *e, *f = event->event_info;
 
    e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete));
    if (!e) return EO_CALLBACK_STOP;
@@ -172,16 +172,16 @@ _efl_network_url_event_complete_cb(void *data 
EINA_UNUSED, Eo *child, const Eo_E
    e->status = f->status;
    e->url_con = f->url_con;
    ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e,
-                   (Ecore_End_Cb)_ecore_con_event_url_free, child);
+                   (Ecore_End_Cb)_ecore_con_event_url_free, event->obj);
 
    return EO_CALLBACK_STOP;
 }
 
 static Eina_Bool
-_efl_network_url_event_data_cb(void *data EINA_UNUSED, Eo *child, const 
Eo_Event_Description *desc EINA_UNUSED, void *einfo)
+_efl_network_url_event_data_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    Ecore_Con_Event_Url_Data *e;
-   Efl_Network_Event_Url_Data *f = einfo;
+   Efl_Network_Event_Url_Data *f = event->event_info;
 
    e = malloc(sizeof(Ecore_Con_Event_Url_Data) + sizeof(unsigned char) * 
f->size);
 
@@ -191,15 +191,15 @@ _efl_network_url_event_data_cb(void *data EINA_UNUSED, Eo 
*child, const Eo_Event
    e->size = f->size;
    memcpy(e->data, f->data, f->size);
    ecore_event_add(ECORE_CON_EVENT_URL_DATA, e,
-                   (Ecore_End_Cb)_ecore_con_event_url_free, child);
+                   (Ecore_End_Cb)_ecore_con_event_url_free, event->obj);
 
    return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
-_efl_network_url_event_progress_cb(void *data EINA_UNUSED, Eo *child, const 
Eo_Event_Description *desc EINA_UNUSED, void *einfo)
+_efl_network_url_event_progress_cb(void *data EINA_UNUSED, const Eo_Event 
*event)
 {
-   Ecore_Con_Event_Url_Progress *e, *f = einfo;
+   Ecore_Con_Event_Url_Progress *e, *f = event->event_info;
 
    e = malloc(sizeof(Ecore_Con_Event_Url_Progress));
    if (!e) return EO_CALLBACK_CONTINUE;
@@ -210,7 +210,7 @@ _efl_network_url_event_progress_cb(void *data EINA_UNUSED, 
Eo *child, const Eo_E
    e->up.total = f->up.total;
    e->up.now = f->up.now;
    ecore_event_add(ECORE_CON_EVENT_URL_PROGRESS, e,
-                   (Ecore_End_Cb)_ecore_con_event_url_free, child);
+                   (Ecore_End_Cb)_ecore_con_event_url_free, event->obj);
 
    return EO_CALLBACK_CONTINUE;
 }
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 8016d85..7b5a3a5 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -3139,12 +3139,9 @@ _ecore_evas_animator_fallback(void *data)
 }
 
 static Eina_Bool
-_check_animator_event_catcher_add(void *data,
-                                  Eo *obj EINA_UNUSED,
-                                  const Eo_Event_Description2 *desc 
EINA_UNUSED,
-                                  void *event_info)
+_check_animator_event_catcher_add(void *data, const Eo_Event *event)
 {
-   const Eo_Callback_Array_Item *array = event_info;
+   const Eo_Callback_Array_Item *array = event->event_info;
    Ecore_Evas *ee = data;
    int i;
 
@@ -3178,12 +3175,9 @@ _check_animator_event_catcher_add(void *data,
 }
 
 static Eina_Bool
-_check_animator_event_catcher_del(void *data,
-                                  Eo *obj EINA_UNUSED,
-                                  const Eo_Event_Description2 *desc 
EINA_UNUSED,
-                                  void *event_info)
+_check_animator_event_catcher_del(void *data, const Eo_Event *event)
 {
-   const Eo_Callback_Array_Item *array = event_info;
+   const Eo_Callback_Array_Item *array = event->event_info;
    Ecore_Evas *ee = data;
    int i;
 
diff --git a/src/lib/ector/cairo/ector_renderer_cairo_shape.c 
b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
index d0d34cb..2292155 100644
--- a/src/lib/ector/cairo/ector_renderer_cairo_shape.c
+++ b/src/lib/ector/cairo/ector_renderer_cairo_shape.c
@@ -76,7 +76,7 @@ struct _Ector_Renderer_Cairo_Shape_Data
 };
 
 static Eina_Bool
-_ector_renderer_cairo_shape_path_changed(void *data, Eo *obj EINA_UNUSED, 
const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_ector_renderer_cairo_shape_path_changed(void *data, const Eo_Event *event 
EINA_UNUSED)
 {
    Ector_Renderer_Cairo_Shape_Data *pd = data;
 
diff --git a/src/lib/ector/gl/ector_renderer_gl_shape.c 
b/src/lib/ector/gl/ector_renderer_gl_shape.c
index bf69e0b..b092712 100644
--- a/src/lib/ector/gl/ector_renderer_gl_shape.c
+++ b/src/lib/ector/gl/ector_renderer_gl_shape.c
@@ -21,7 +21,7 @@ struct _Ector_Renderer_GL_Shape_Data
 };
 
 static Eina_Bool
-_ector_renderer_gl_shape_path_changed(void *data, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_ector_renderer_gl_shape_path_changed(void *data, const Eo_Event *event 
EINA_UNUSED)
 {
    Ector_Renderer_GL_Shape_Data *pd = data;
 
diff --git a/src/lib/ector/software/ector_renderer_software_shape.c 
b/src/lib/ector/software/ector_renderer_software_shape.c
index a4ea6ca..beaf043 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -681,9 +681,7 @@ _ector_renderer_software_shape_efl_gfx_shape_path_set(Eo 
*obj,
 
 
 static Eina_Bool
-_ector_renderer_software_shape_path_changed(void *data, Eo *obj EINA_UNUSED,
-                                            const Eo_Event_Description *desc 
EINA_UNUSED,
-                                            void *event_info EINA_UNUSED)
+_ector_renderer_software_shape_path_changed(void *data, const Eo_Event *event 
EINA_UNUSED)
 {
    Ector_Renderer_Software_Shape_Data *pd = data;
    
diff --git a/src/lib/edje/edje_callbacks.c b/src/lib/edje/edje_callbacks.c
index 1d97f58..8678933 100644
--- a/src/lib/edje/edje_callbacks.c
+++ b/src/lib/edje/edje_callbacks.c
@@ -1,15 +1,15 @@
 #include "edje_private.h"
 
 static Eina_Bool
-_edje_hold_signal_cb(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_edje_hold_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Hold *ev;
    Edje *ed;
    Edje_Real_Part *rp;
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (!rp) return EO_CALLBACK_CONTINUE;
    if (ev->hold)
      _edje_emit(ed, "hold,on", rp->part->name);
@@ -20,13 +20,13 @@ _edje_hold_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc EINA_
 }
 
 static Eina_Bool
-_edje_focus_in_signal_cb(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info EINA_UNUSED)
+_edje_focus_in_signal_cb(void *data, const Eo_Event *event)
 {
    Edje *ed;
    Edje_Real_Part *rp;
 
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if ((!rp) || (!ed))
      return EO_CALLBACK_CONTINUE;
 
@@ -36,13 +36,13 @@ _edje_focus_in_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc E
 }
 
 static Eina_Bool
-_edje_focus_out_signal_cb(void *data, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_edje_focus_out_signal_cb(void *data, const Eo_Event *event)
 {
    Edje *ed;
    Edje_Real_Part *rp;
 
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if ((!rp) || (!ed))
      return EO_CALLBACK_CONTINUE;
 
@@ -52,15 +52,15 @@ _edje_focus_out_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
 }
 
 static Eina_Bool
-_edje_mouse_in_signal_cb(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_edje_mouse_in_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Mouse_In *ev;
    Edje *ed;
    Edje_Real_Part *rp;
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (rp)
      {
         if (!(ev->event_flags) || !(rp->part->ignore_flags & ev->event_flags))
@@ -73,15 +73,15 @@ _edje_mouse_in_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc E
 }
 
 static Eina_Bool
-_edje_mouse_out_signal_cb(void *data, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
+_edje_mouse_out_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Mouse_Out *ev;
    Edje *ed;
    Edje_Real_Part *rp;
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (rp)
      {
         if (!(ev->event_flags) || !(rp->part->ignore_flags & ev->event_flags))
@@ -94,7 +94,7 @@ _edje_mouse_out_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
 }
 
 static Eina_Bool
-_edje_mouse_down_signal_cb(void *data, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
+_edje_mouse_down_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Mouse_Down *ev;
    Edje *ed;
@@ -102,9 +102,9 @@ _edje_mouse_down_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
    char buf[256];
    int ignored;
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (!rp) return EO_CALLBACK_CONTINUE;
 
    ignored = rp->part->ignore_flags & ev->event_flags;
@@ -165,7 +165,7 @@ _edje_mouse_down_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
 }
 
 static Eina_Bool
-_edje_mouse_up_signal_cb(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_edje_mouse_up_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Mouse_Up *ev;
    Edje *ed;
@@ -173,9 +173,9 @@ _edje_mouse_up_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc E
    char buf[256];
    int ignored;
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (!rp) return EO_CALLBACK_CONTINUE;
 
    ignored = rp->part->ignore_flags & ev->event_flags;
@@ -240,16 +240,16 @@ _edje_mouse_up_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc E
 }
 
 static Eina_Bool
-_edje_mouse_move_signal_cb(void *data, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
+_edje_mouse_move_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Mouse_Move *ev;
    Edje *ed;
    Edje_Real_Part *rp;
    int ignored;
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (!rp) return EO_CALLBACK_CONTINUE;
    if (rp->part->dragable.event_id >= 0)
      {
@@ -270,7 +270,7 @@ _edje_mouse_move_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
           {
              Evas_Coord x, y, w, h;
 
-             evas_object_geometry_get(obj, &x, &y, &w, &h);
+             evas_object_geometry_get(event->obj, &x, &y, &w, &h);
              if ((ev->cur.canvas.x < x) || (ev->cur.canvas.y < y) ||
                  (ev->cur.canvas.x >= (x + w)) || (ev->cur.canvas.y >= (y + 
h)))
                {
@@ -287,7 +287,7 @@ _edje_mouse_move_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
           {
              Evas_Coord x, y, w, h;
 
-             evas_object_geometry_get(obj, &x, &y, &w, &h);
+             evas_object_geometry_get(event->obj, &x, &y, &w, &h);
              if ((ev->cur.canvas.x >= x) && (ev->cur.canvas.y >= y) &&
                  (ev->cur.canvas.x < (x + w)) && (ev->cur.canvas.y < (y + h)))
                {
@@ -349,16 +349,16 @@ _edje_mouse_move_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc
 }
 
 static Eina_Bool
-_edje_mouse_wheel_signal_cb(void *data, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
+_edje_mouse_wheel_signal_cb(void *data, const Eo_Event *event)
 {
    Evas_Event_Mouse_Wheel *ev;
    Edje *ed;
    Edje_Real_Part *rp;
    char buf[256];
 
-   ev = event_info;
+   ev = event->event_info;
    ed = data;
-   rp = evas_object_data_get(obj, "real_part");
+   rp = evas_object_data_get(event->obj, "real_part");
    if (rp)
      {
         if (!(ev->event_flags) || !(rp->part->ignore_flags & ev->event_flags))
@@ -374,10 +374,7 @@ _edje_mouse_wheel_signal_cb(void *data, Eo *obj, const 
Eo_Event_Description *des
 }
 
 Eina_Bool
-_edje_timer_cb(void *data,
-               Eo *obj EINA_UNUSED,
-               const Eo_Event_Description *desc EINA_UNUSED,
-               void *event_info EINA_UNUSED) // FIXME: figure out how to use 
event_info
+_edje_timer_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
    double t;
    Eina_List *l;
diff --git a/src/lib/edje/edje_multisense.c b/src/lib/edje/edje_multisense.c
index 92e36d5..273f6aa8 100644
--- a/src/lib/edje/edje_multisense.c
+++ b/src/lib/edje/edje_multisense.c
@@ -8,18 +8,18 @@ static int outs = 0;
 static Eina_Bool outfail = EINA_FALSE;
 
 static Eina_Bool
-_play_finished(void *data EINA_UNUSED, Eo *in, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_play_finished(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   eo_del(in);
+   eo_del(event->obj);
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-_out_fail(void *data EINA_UNUSED, Eo *output EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_out_fail(void *data EINA_UNUSED, const Eo_Event *event)
 {
    outfail = EINA_TRUE;
-   eo_del(out);
+   eo_del(event->obj);
    out = NULL;
    return EINA_TRUE;
 }
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index b9c5843..c2b4204 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2297,7 +2297,7 @@ void  _edje_recalc_do(Edje *ed);
 int   _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, FLOAT_T *x, 
FLOAT_T *y);
 void  _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T 
y);
 
-Eina_Bool _edje_timer_cb(void *data, Eo *obj, const Eo_Event_Description 
*desc, void *event_info);
+Eina_Bool _edje_timer_cb(void *data, const Eo_Event *event);
 Eina_Bool _edje_pending_timer_cb(void *data);
 void  _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp);
 void  _edje_callbacks_focus_add(Evas_Object *obj, Edje *ed, Edje_Real_Part 
*rp);
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index 2adaf7d..8f601bf 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -10,7 +10,8 @@ static double _edje_transition_duration_scale = 0;
 static Eina_Bool
 _edje_animator_cb(void *data)
 {
-   _edje_timer_cb(data, NULL, NULL, NULL);
+   const Eo_Event event = {0};
+   _edje_timer_cb(data, &event);
    return EINA_TRUE;
 }
 
diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 948a0b0..acf5883 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -733,12 +733,12 @@ end:
 }
 
 static Eina_Bool
-_eo_event_forwarder_callback(void *data, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc, void *event_info)
+_eo_event_forwarder_callback(void *data, const Eo_Event *event)
 {
    Eo *new_obj = (Eo *) data;
    Eina_Bool ret = EINA_FALSE;
 
-   eo_do(new_obj, ret = eo_event_callback_call(desc, (void *)event_info); );
+   eo_do(new_obj, ret = eo_event_callback_call(event->desc, 
event->event_info); );
 
    return ret;
 }
diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 321101f..d4d5789 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -59,10 +59,10 @@ typedef struct
 } _eo_evas_object_cb_info;
 
 static Eina_Bool
-_eo_evas_object_cb(void *data, Eo *eo_obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_eo_evas_object_cb(void *data, const Eo_Event *event)
 {
    _eo_evas_object_cb_info *info = data;
-   if (info->func) info->func(info->data, evas_object_evas_get(eo_obj), 
eo_obj, event_info);
+   if (info->func) info->func(info->data, evas_object_evas_get(event->obj), 
event->obj, event->event_info);
    return EINA_TRUE;
 }
 
@@ -75,10 +75,10 @@ typedef struct
 } _eo_evas_cb_info;
 
 static Eina_Bool
-_eo_evas_cb(void *data, Eo *eo_obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_eo_evas_cb(void *data, const Eo_Event *event)
 {
    _eo_evas_cb_info *info = data;
-   if (info->func) info->func(info->data, eo_obj, event_info);
+   if (info->func) info->func(info->data, event->obj, event->event_info);
    return EINA_TRUE;
 }
 
diff --git a/src/lib/evas/canvas/evas_canvas3d_node.c 
b/src/lib/evas/canvas/evas_canvas3d_node.c
index bf295cb..965e090 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node.c
+++ b/src/lib/evas/canvas/evas_canvas3d_node.c
@@ -51,9 +51,7 @@ _generate_unic_color_key(Evas_Color *color, Evas_Color 
*bg_color, Evas_Canvas3D_
 }
 
 static Eina_Bool
-_evas_canvas3d_node_private_callback_collision(void *data, Eo *obj EINA_UNUSED,
-                                            const Eo_Event_Description *desc 
EINA_UNUSED,
-                                            void *event_info)
+_evas_canvas3d_node_private_callback_collision(void *data, const Eo_Event 
*event)
 {
    Eina_List *collision_list = NULL, *l = NULL;
    Evas_Canvas3D_Node *target_node = NULL, *n = NULL;
@@ -61,7 +59,7 @@ _evas_canvas3d_node_private_callback_collision(void *data, Eo 
*obj EINA_UNUSED,
    const Eo_Event_Description *eo_desc = NULL;
    Eina_Bool ret = EINA_FALSE;
 
-   target_node = (Evas_Canvas3D_Node *)event_info;
+   target_node = (Evas_Canvas3D_Node *)event->event_info;
    pd_target = eo_data_scope_get(target_node, EVAS_CANVAS3D_NODE_CLASS);
    collision_list = (Eina_List *)data;
    eo_desc = eo_base_legacy_only_event_description_get("collision");
@@ -79,13 +77,11 @@ _evas_canvas3d_node_private_callback_collision(void *data, 
Eo *obj EINA_UNUSED,
    return ret;
 }
 static Eina_Bool
-_evas_canvas3d_node_private_callback_clicked(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED,
-                                          const Eo_Event_Description *desc 
EINA_UNUSED,
-                                          void *event_info)
+_evas_canvas3d_node_private_callback_clicked(void *data EINA_UNUSED, const 
Eo_Event *event)
 {
    Eina_Bool ret = EINA_FALSE;
    const Eo_Event_Description *eo_desc = 
eo_base_legacy_only_event_description_get("clicked");
-   eo_do((Eo *)event_info, ret = eo_event_callback_call(eo_desc, event_info));
+   eo_do((Eo *)event->event_info, ret = eo_event_callback_call(eo_desc, 
event->event_info));
 
    return ret;
 }
diff --git a/src/lib/evas/canvas/evas_canvas3d_node_callback.h 
b/src/lib/evas/canvas/evas_canvas3d_node_callback.h
index 90a1f56..0f02ae4 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node_callback.h
+++ b/src/lib/evas/canvas/evas_canvas3d_node_callback.h
@@ -24,11 +24,9 @@ const Eo_Event_Description 
evas_canvas3d_node_private_event_desc[] =
 
 /*Private callbacks */
 static Eina_Bool
-_evas_canvas3d_node_private_callback_clicked(void *data, Eo *obj, const 
Eo_Event_Description *desc,
-                                                                          void 
*event_info);
+_evas_canvas3d_node_private_callback_clicked(void *data, const Eo_Event 
*event);
 static Eina_Bool
-_evas_canvas3d_node_private_callback_collision(void *data, Eo *obj, const 
Eo_Event_Description *desc,
-                                                                               
 void *event_info);
+_evas_canvas3d_node_private_callback_collision(void *data, const Eo_Event 
*event);
 
 Eo_Event_Cb evas_canvas3d_node_private_callback_functions[] =
 {
diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 11b370d..48bfd5c 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -213,7 +213,7 @@ _evas_object_clip_mask_unset(Evas_Object_Protected_Data 
*obj)
 extern const char *o_rect_type;
 extern const char *o_image_type;
 
-static Eina_Bool _clipper_del_cb(void *data, Eo *eo_clip, const 
Eo_Event_Description *desc EINA_UNUSED, void *info EINA_UNUSED);
+static Eina_Bool _clipper_del_cb(void *data, const Eo_Event *event);
 
 EOLIAN void
 _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object 
*eo_clip)
@@ -478,7 +478,7 @@ _evas_object_clip_unset(Eo *eo_obj, 
Evas_Object_Protected_Data *obj)
 }
 
 static Eina_Bool
-_clipper_del_cb(void *data, Eo *eo_clip, const Eo_Event_Description *desc 
EINA_UNUSED, void *info EINA_UNUSED)
+_clipper_del_cb(void *data, const Eo_Event *event)
 {
    Evas_Object *eo_obj = data;
    Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
@@ -486,7 +486,7 @@ _clipper_del_cb(void *data, Eo *eo_clip, const 
Eo_Event_Description *desc EINA_U
    if (!obj) return EO_CALLBACK_CONTINUE;
 
    _evas_object_clip_unset(eo_obj, obj);
-   if (obj->prev->clipper && (obj->prev->clipper->object == eo_clip))
+   if (obj->prev->clipper && (obj->prev->clipper->object == event->obj))
      {
         // not removing cb since it's the del cb... it can't be called again!
         EINA_COW_STATE_WRITE_BEGIN(obj, state_write, prev)
diff --git a/src/lib/evas/canvas/evas_filter_mixin.c 
b/src/lib/evas/canvas/evas_filter_mixin.c
index 428696a..643f5ad 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -69,9 +69,7 @@ _filter_end_sync(Evas_Filter_Context *ctx, 
Evas_Object_Protected_Data *obj,
 }
 
 static Eina_Bool
-_render_post_cb(void *data, Eo *evas EINA_UNUSED,
-                const Eo_Event_Description2 *desc EINA_UNUSED,
-                void *event_info EINA_UNUSED)
+_render_post_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
    Eo *eo_obj = data;
    Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
diff --git a/src/lib/evas/canvas/evas_object_box.c 
b/src/lib/evas/canvas/evas_object_box.c
index 74f9a6c..3b664c1 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -110,7 +110,7 @@ _evas_object_box_accessor_free(Evas_Object_Box_Accessor *it)
 }
 
 static Eina_Bool
-_on_child_resize(void *data, Eo *o EINA_UNUSED, const Eo_Event_Description 
*desc EINA_UNUSED, void *einfo EINA_UNUSED)
+_on_child_resize(void *data, const Eo_Event *event EINA_UNUSED)
 {
    Evas_Object *box = data;
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(box, priv, EO_CALLBACK_CONTINUE);
@@ -120,12 +120,12 @@ _on_child_resize(void *data, Eo *o EINA_UNUSED, const 
Eo_Event_Description *desc
 }
 
 static Eina_Bool
-_on_child_del(void *data, Eo *o, const Eo_Event_Description *desc EINA_UNUSED, 
void *einfo EINA_UNUSED)
+_on_child_del(void *data, const Eo_Event *event)
 {
    Evas_Object *box = data;
 
    Evas_Object *ret = NULL;
-   eo_do(box, ret = evas_obj_box_internal_remove(o));
+   eo_do(box, ret = evas_obj_box_internal_remove(event->obj));
    if (!ret)
      ERR("child removal failed");
    evas_object_smart_changed(box);
@@ -134,7 +134,7 @@ _on_child_del(void *data, Eo *o, const Eo_Event_Description 
*desc EINA_UNUSED, v
 }
 
 static Eina_Bool
-_on_child_hints_changed(void *data, Eo *o EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *einfo EINA_UNUSED)
+_on_child_hints_changed(void *data, const Eo_Event *event EINA_UNUSED)
 {
    Evas_Object *box = data;
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(box, priv, EO_CALLBACK_CONTINUE);
diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index daf236c..154d93b 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -83,27 +83,21 @@ _init_cow(void)
 }
 
 static Eina_Bool
-_animator_repeater(void *data,
-                   Eo *eo_obj EINA_UNUSED,
-                   const Eo_Event_Description2 *desc EINA_UNUSED,
-                   void *event_info)
+_animator_repeater(void *data, const Eo_Event *event)
 {
    Evas_Object_Protected_Data *obj = data;
 
    eo_do(obj->object,
-         eo_event_callback_call(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, 
event_info));
+         eo_event_callback_call(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, 
event->event_info));
    DBG("Emitting animator tick on %p.", obj->object);
 
    return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
-_check_event_catcher_add(void *data,
-                         Eo *eo_obj EINA_UNUSED,
-                         const Eo_Event_Description2 *desc EINA_UNUSED,
-                         void *event_info)
+_check_event_catcher_add(void *data, const Eo_Event *event)
 {
-   const Eo_Callback_Array_Item *array = event_info;
+   const Eo_Callback_Array_Item *array = event->event_info;
    Evas_Object_Protected_Data *obj = data;
    int i;
 
@@ -128,12 +122,9 @@ _check_event_catcher_add(void *data,
 }
 
 static Eina_Bool
-_check_event_catcher_del(void *data,
-                         Eo *eo_obj EINA_UNUSED,
-                         const Eo_Event_Description2 *desc EINA_UNUSED,
-                         void *event_info)
+_check_event_catcher_del(void *data, const Eo_Event *event)
 {
-   const Eo_Callback_Array_Item *array = event_info;
+   const Eo_Callback_Array_Item *array = event->event_info;
    Evas_Object_Protected_Data *obj = data;
    int i;
 
diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index 8f9874f..b3da505 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -61,10 +61,10 @@ struct _Evas_Object_Smart_Iterator
 };
 
 static Eina_Bool
-_eo_evas_smart_cb(void *data, Eo *eo_obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_eo_evas_smart_cb(void *data, const Eo_Event *event)
 {
    _eo_evas_smart_cb_info *info = data;
-   if (info->func) info->func(info->data, eo_obj, event_info);
+   if (info->func) info->func(info->data, event->obj, event->event_info);
    return EINA_TRUE;
 }
 
diff --git a/src/lib/evas/canvas/evas_object_table.c 
b/src/lib/evas/canvas/evas_object_table.c
index 0c8ea11..158237a 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -244,16 +244,16 @@ _evas_object_table_option_del(Evas_Object *o)
 }
 
 static Eina_Bool
-_on_child_del(void *data, Eo *child, const Eo_Event_Description *desc 
EINA_UNUSED, void *einfo EINA_UNUSED)
+_on_child_del(void *data, const Eo_Event *event)
 {
    Evas_Object *table = data;
-   evas_object_table_unpack(table, child);
+   evas_object_table_unpack(table, event->obj);
 
    return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
-_on_child_hints_changed(void *data, Eo *child EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *einfo EINA_UNUSED)
+_on_child_hints_changed(void *data, const Eo_Event *event EINA_UNUSED)
 {
    Evas_Object *table = data;
    EVAS_OBJECT_TABLE_DATA_GET_OR_RETURN_VAL(table, priv, EO_CALLBACK_CONTINUE);
diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 006bdac..5a46004 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -7388,9 +7388,7 @@ _obstacle_find(Evas_Textblock_Data *obj, Eo *eo_obs)
 }
 
 Eina_Bool
-_obstacle_del_cb(void *data, Eo *eo_obs,
-      const Eo_Event_Description *desc EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+_obstacle_del_cb(void *data, const Eo_Event *event)
 {
    Eo *eo_obj = data;
    Evas_Textblock_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS);
@@ -7399,7 +7397,7 @@ _obstacle_del_cb(void *data, Eo *eo_obs,
 
    EINA_LIST_FOREACH(obj->obstacles, i, obs)
      {
-        if (eo_obs == obs->eo_obs)
+        if (event->obj == obs->eo_obs)
            break;
      }
    obj->obstacles = eina_list_remove_list(obj->obstacles, i);
diff --git a/src/lib/evas/canvas/evas_object_vg.c 
b/src/lib/evas/canvas/evas_object_vg.c
index a574aed..7d96eeb 100644
--- a/src/lib/evas/canvas/evas_object_vg.c
+++ b/src/lib/evas/canvas/evas_object_vg.c
@@ -95,10 +95,7 @@ _evas_vg_root_node_get(Eo *obj EINA_UNUSED, Evas_VG_Data *pd)
 }
 
 static Eina_Bool
-_cleanup_reference(void *data,
-                   Eo *obj EINA_UNUSED,
-                   const Eo_Event_Description *desc EINA_UNUSED,
-                   void *event_info EINA_UNUSED)
+_cleanup_reference(void *data, const Eo_Event *event EINA_UNUSED)
 {
    Evas_VG_Data *pd = data;
    Eo *renderer;
diff --git a/src/lib/evas/canvas/evas_vg_node.c 
b/src/lib/evas/canvas/evas_vg_node.c
index d160b45..e53d295 100644
--- a/src/lib/evas/canvas/evas_vg_node.c
+++ b/src/lib/evas/canvas/evas_vg_node.c
@@ -18,7 +18,7 @@ static const Efl_VG_Interpolation interpolation_identity = {
 };
 
 static Eina_Bool
-_efl_vg_base_property_changed(void *data, Eo *obj, const Eo_Event_Description 
*desc, void *event_info)
+_efl_vg_base_property_changed(void *data, const Eo_Event *event)
 {
    Efl_VG_Base_Data *pd = data;
    Eo *parent;
@@ -26,8 +26,8 @@ _efl_vg_base_property_changed(void *data, Eo *obj, const 
Eo_Event_Description *d
    if (pd->changed) return EINA_TRUE;
    pd->changed = EINA_TRUE;
 
-   eo_do(obj, parent = eo_parent_get());
-   eo_do(parent, eo_event_callback_call(desc, event_info));
+   eo_do(event->obj, parent = eo_parent_get());
+   eo_do(parent, eo_event_callback_call(event->desc, event->event_info));
    return EINA_TRUE;
 }
 
diff --git a/src/lib/evas/canvas/evas_vg_root_node.c 
b/src/lib/evas/canvas/evas_vg_root_node.c
index 6e50cdb..f35d0d6 100644
--- a/src/lib/evas/canvas/evas_vg_root_node.c
+++ b/src/lib/evas/canvas/evas_vg_root_node.c
@@ -33,12 +33,10 @@ _evas_vg_root_node_render_pre(Eo *obj EINA_UNUSED,
 }
 
 static Eina_Bool
-_evas_vg_root_node_changed(void *data, Eo *obj,
-                           const Eo_Event_Description *desc EINA_UNUSED,
-                           void *event_info EINA_UNUSED)
+_evas_vg_root_node_changed(void *data, const Eo_Event *event)
 {
    Efl_VG_Root_Node_Data *pd = data;
-   Efl_VG_Base_Data *bd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS);
+   Efl_VG_Base_Data *bd = eo_data_scope_get(event->obj, EFL_VG_BASE_CLASS);
 
    if (bd->changed) return EINA_TRUE;
    bd->changed = EINA_TRUE;
diff --git a/src/modules/ethumb/emotion/emotion.c 
b/src/modules/ethumb/emotion/emotion.c
index ee2cdfe..792b0db 100644
--- a/src/modules/ethumb/emotion/emotion.c
+++ b/src/modules/ethumb/emotion/emotion.c
@@ -81,8 +81,7 @@ _resize_movie(struct _emotion_plugin *_plugin)
 }
 
 static Eina_Bool
-_frame_decode_cb(void *data,
-      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
+_frame_decode_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
    struct _emotion_plugin *_plugin = data;
 
@@ -95,8 +94,7 @@ _frame_decode_cb(void *data,
  }
 
 static Eina_Bool
-_frame_resized_cb(void *data,
-      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
+_frame_resized_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
    _resize_movie(data);
 
@@ -104,8 +102,7 @@ _frame_resized_cb(void *data,
 }
 
 static Eina_Bool
-_video_stopped_cb(void *data,
-      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
+_video_stopped_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
    struct _emotion_plugin *_plugin = data;
 
diff --git a/src/modules/evas/engines/gl_common/evas_gl_preload.c 
b/src/modules/evas/engines/gl_common/evas_gl_preload.c
index 9c3b1357..e566cb7 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_preload.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_preload.c
@@ -300,12 +300,11 @@ evas_gl_preload_render_relax(evas_gl_make_current_cb 
make_current, void *engine_
 }
 
 static Eina_Bool
-_evas_gl_preload_target_die(void *data, Eo *obj,
-                            const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
+_evas_gl_preload_target_die(void *data, const Eo_Event *event)
 {
    Evas_GL_Texture *tex = data;
 
-   evas_gl_preload_target_unregister(tex, obj);
+   evas_gl_preload_target_unregister(tex, event->obj);
 
    return EO_CALLBACK_CONTINUE;
 }
diff --git a/src/tests/ecore/ecore_test_ecore_audio.c 
b/src/tests/ecore/ecore_test_ecore_audio.c
index 5bceee2..fe2f325 100644
--- a/src/tests/ecore/ecore_test_ecore_audio.c
+++ b/src/tests/ecore/ecore_test_ecore_audio.c
@@ -11,7 +11,7 @@
 
 #include "ecore_suite.h"
 
-static Eina_Bool _failed_cb(void *data, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _failed_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
   Eina_Bool *pulse_context_failed = data;
 
@@ -25,16 +25,16 @@ static Eina_Bool _failed_cb(void *data, Eo *obj 
EINA_UNUSED, const Eo_Event_Desc
   return EINA_TRUE;
 }
 
-static Eina_Bool _finished_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, 
const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _finished_cb(void *data EINA_UNUSED, const Eo_Event *event 
EINA_UNUSED)
 {
   ecore_main_loop_quit();
 
   return EINA_TRUE;
 }
 
-static Eina_Bool _looped_cb(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+static Eina_Bool _looped_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-  eo_do(obj, ecore_audio_obj_in_looped_set(EINA_FALSE));
+  eo_do(event->obj, ecore_audio_obj_in_looped_set(EINA_FALSE));
 
   return EINA_TRUE;
 }
diff --git a/src/tests/eio/eio_model_test_file.c 
b/src/tests/eio/eio_model_test_file.c
index c6aa8d8..56e6dd6 100644
--- a/src/tests/eio/eio_model_test_file.c
+++ b/src/tests/eio/eio_model_test_file.c
@@ -59,9 +59,9 @@ static Eina_Bool
  }
 
 static Eina_Bool
-_load_status_cb(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
+_load_status_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   Efl_Model_Load *st = event_info;
+   Efl_Model_Load *st = event->event_info;
    printf("Load CHANGE\n");
 
    if (st->status & EFL_MODEL_LOAD_STATUS_LOADED_CHILDREN)
@@ -84,26 +84,26 @@ _load_status_cb(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *des
         char *str;
 
         printf("Model is Loaded\n");
-        eo_do(obj, status = efl_model_property_get("filename", &value_prop));
+        eo_do(event->obj, status = efl_model_property_get("filename", 
&value_prop));
         str = eina_value_to_string(value_prop);
         printf("efl_model_loaded filename %s, status=%d\n", str, status);
         free(str);
 
-        eo_do(obj, status = efl_model_property_get("size", &value_prop));
+        eo_do(event->obj, status = efl_model_property_get("size", 
&value_prop));
         str = eina_value_to_string(value_prop);
         printf("efl_model_loaded size %s, status=%d\n", str, status);
         free(str);
 
-        eo_do(obj, status = efl_model_property_get("mtime", &value_prop));
+        eo_do(event->obj, status = efl_model_property_get("mtime", 
&value_prop));
         str = eina_value_to_string(value_prop);
         printf("efl_model_loaded mtime %s, status=%d\n", str, status);
         free(str);
 
-        eo_do(obj, efl_model_children_count_get(&total));
+        eo_do(event->obj, efl_model_children_count_get(&total));
         printf("efl_model_test count %d\n", (int)total);
 
         /**< get full list */
-        eo_do(obj, status = efl_model_children_slice_get(0 ,0 ,(Eina_Accessor 
**)&accessor));
+        eo_do(event->obj, status = efl_model_children_slice_get(0 ,0 
,(Eina_Accessor **)&accessor));
         eina_accessor_free(accessor);
         ecore_main_loop_quit();
      }
@@ -111,9 +111,9 @@ _load_status_cb(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *des
 }
 
 static Eina_Bool
-_properties_change_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+_properties_change_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   const Efl_Model_Property_Event *evt = (Efl_Model_Property_Event 
*)event_info;
+   const Efl_Model_Property_Event *evt = (Efl_Model_Property_Event 
*)event->event_info;
    const char *prop;
    Eina_Array_Iterator it;
    unsigned int i;
@@ -135,15 +135,15 @@ _properties_change_cb(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Even
 }
 
 static Eina_Bool
-_children_count_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+_children_count_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   unsigned int *len = (unsigned int *)event_info;
+   unsigned int *len = (unsigned int *)event->event_info;
    unsigned int total;
 
    fprintf(stdout, "Children count number=%d\n", *len);
    reqs.children = *len;
 
-   eo_do(obj, efl_model_children_count_get(&total));
+   eo_do(event->obj, efl_model_children_count_get(&total));
    fprintf(stdout, "New total children count number=%d\n", *len);
 
    return EINA_TRUE;
diff --git a/src/tests/eio/eio_model_test_monitor_add.c 
b/src/tests/eio/eio_model_test_monitor_add.c
index a0ad69e..4f26a8e 100644
--- a/src/tests/eio/eio_model_test_monitor_add.c
+++ b/src/tests/eio/eio_model_test_monitor_add.c
@@ -19,9 +19,9 @@ Eina_Tmpstr* temp_filename = NULL;
 const char* tmpdir = NULL;
 
 static Eina_Bool
-_load_monitor_status_cb(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info)
+_load_monitor_status_cb(void *data, const Eo_Event *event)
 {
-  Efl_Model_Load* st = event_info;
+  Efl_Model_Load* st = event->event_info;
   Eo* parent = data;
   const Eina_Value* value_prop = NULL;
   const char* str = NULL;
@@ -29,7 +29,7 @@ _load_monitor_status_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc EI
   if (!(st->status & EFL_MODEL_LOAD_STATUS_LOADED_PROPERTIES))
     return EINA_TRUE;
 
-  eo_do(obj, efl_model_property_get("path", &value_prop));
+  eo_do(event->obj, efl_model_property_get("path", &value_prop));
   fail_if(!value_prop, "ERROR: Cannot get property!\n");
 
   str = eina_value_to_string(value_prop);
@@ -38,20 +38,20 @@ _load_monitor_status_cb(void *data, Eo *obj, const 
Eo_Event_Description *desc EI
   if(temp_filename && strcmp(str, temp_filename) == 0)
     {
       fprintf(stderr, "is child that we want\n");
-      eo_do(obj, eo_event_callback_del(EFL_MODEL_BASE_EVENT_LOAD_STATUS, 
_load_monitor_status_cb, data));
+      eo_do(event->obj, 
eo_event_callback_del(EFL_MODEL_BASE_EVENT_LOAD_STATUS, 
_load_monitor_status_cb, data));
       children_added = EINA_TRUE;
-      eo_do(parent, efl_model_child_del(obj));
+      eo_do(parent, efl_model_child_del(event->obj));
     }
 
     return EINA_FALSE;
 }
 
 static Eina_Bool
-_children_removed_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void* event_info EINA_UNUSED)
+_children_removed_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
   if(children_added)
     {
-       Efl_Model_Children_Event* evt = event_info;
+       Efl_Model_Children_Event* evt = event->event_info;
 
        Eina_Bool b;
        eo_do(evt->child, b = efl_model_load_status_get() & 
EFL_MODEL_LOAD_STATUS_LOADED_PROPERTIES);
@@ -73,22 +73,22 @@ _children_removed_cb(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Event
 }
 
 static Eina_Bool
-_children_added_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+_children_added_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-  Efl_Model_Children_Event* evt = event_info;
+  Efl_Model_Children_Event* evt = event->event_info;
   if (evt == NULL)
     return EINA_TRUE;
 
-  eo_do(evt->child, eo_event_callback_add(EFL_MODEL_BASE_EVENT_LOAD_STATUS, 
_load_monitor_status_cb, obj));
+  eo_do(evt->child, eo_event_callback_add(EFL_MODEL_BASE_EVENT_LOAD_STATUS, 
_load_monitor_status_cb, event->obj));
   eo_do(evt->child, efl_model_load());
 
   return EINA_TRUE;
 }
 
 static Eina_Bool
-_children_count_cb(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
+_children_count_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   unsigned int *len = event_info;
+   unsigned int *len = event->event_info;
    Eina_Accessor *accessor;
    Efl_Model_Load_Status status;
    Eo *child;
@@ -98,7 +98,7 @@ _children_count_cb(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *
    fprintf(stderr, "Children count number=%d\n", *len);
 
    /**< get full list */
-   eo_do(obj, status = efl_model_children_slice_get(0 ,0 ,(Eina_Accessor 
**)&accessor));
+   eo_do(event->obj, status = efl_model_children_slice_get(0 ,0 
,(Eina_Accessor **)&accessor));
    if(accessor != NULL)
      {
         EINA_ACCESSOR_FOREACH(accessor, i, child) {}
diff --git a/src/tests/eldbus/eldbus_test_eldbus_model.c 
b/src/tests/eldbus/eldbus_test_eldbus_model.c
index 771d942..adba9f5 100644
--- a/src/tests/eldbus/eldbus_test_eldbus_model.c
+++ b/src/tests/eldbus/eldbus_test_eldbus_model.c
@@ -15,10 +15,7 @@
 #include "eldbus_suite.h"
 
 static Eina_Bool
-_eo_event_quit_cb(void *data EINA_UNUSED,
-                  Eo *obj EINA_UNUSED,
-                  const Eo_Event_Description *desc EINA_UNUSED,
-                  void *event_info EINA_UNUSED)
+_eo_event_quit_cb(void *data EINA_UNUSED, const Eo_Event *event EINA_UNUSED)
 {
    ecore_main_loop_quit();
    return EINA_FALSE;
@@ -33,13 +30,11 @@ efl_model_wait_for_event(Eo *obj, const 
Eo_Event_Description* event)
 }
 
 static Eina_Bool
-_event_load_status_quit_cb(void *data, Eo *obj EINA_UNUSED,
-                           const Eo_Event_Description *desc EINA_UNUSED,
-                           void *event_info EINA_UNUSED)
+_event_load_status_quit_cb(void *data, const Eo_Event *event)
 {
    printf("_event_load_status_quit_cb\n");
    Efl_Model_Load_Status expected_status = (Efl_Model_Load_Status)data;
-   Efl_Model_Load *actual_load = (Efl_Model_Load*)event_info;
+   Efl_Model_Load *actual_load = (Efl_Model_Load*)event->event_info;
 
    if (expected_status == actual_load->status)
      {
diff --git a/src/tests/emotion/emotion_test_main-eo.c 
b/src/tests/emotion/emotion_test_main-eo.c
index efa9d3c..4efbfc9 100644
--- a/src/tests/emotion/emotion_test_main-eo.c
+++ b/src/tests/emotion/emotion_test_main-eo.c
@@ -56,8 +56,7 @@ struct _Frame_Data
    Evas_Coord x, y;
 };
 
-static Eina_Bool bg_key_down(void *data EINA_UNUSED, Eo *obj EINA_UNUSED,
-      const Eo_Event_Description *desc EINA_UNUSED, void *event_info);
+static Eina_Bool bg_key_down(void *data EINA_UNUSED, const Eo_Event *event 
EINA_UNUSED);
 
 
 static Evas_Object *o_bg = NULL;
@@ -136,10 +135,9 @@ broadcast_event(Emotion_Event ev)
 }
 
 static Eina_Bool
-bg_key_down(void *data EINA_UNUSED, Eo *obj EINA_UNUSED,
-      const Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+bg_key_down(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   Evas_Event_Key_Down *ev = event_info;
+   Evas_Event_Key_Down *ev = event->event_info;
    Eina_List *l;
    Evas_Object *o;
 
@@ -295,8 +293,7 @@ bg_key_down(void *data EINA_UNUSED, Eo *obj EINA_UNUSED,
 }
 
 static Eina_Bool
-_oe_free_cb(void *data,
-      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
+_oe_free_cb(void *data, const Eo_Event *event EINA_UNUSED)
 {
    free(data);
    return EINA_TRUE;
@@ -330,10 +327,9 @@ video_obj_time_changed(Evas_Object *obj, Evas_Object *edje)
 }
 
 static Eina_Bool
-video_obj_frame_decode_cb(void *data,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_frame_decode_cb(void *data, const Eo_Event *event)
 {
-   video_obj_time_changed(obj, data);
+   video_obj_time_changed(event->obj, data);
 
    if (0)
      {
@@ -347,8 +343,7 @@ video_obj_frame_decode_cb(void *data,
 }
 
 static Eina_Bool
-video_obj_frame_resize_cb(void *data,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_frame_resize_cb(void *data, const Eo_Event *event)
 {
    Evas_Object *oe;
    int iw, ih;
@@ -356,114 +351,105 @@ video_obj_frame_resize_cb(void *data,
    double ratio;
 
    oe = data;
-   emotion_object_size_get(obj, &iw, &ih);
-   ratio = emotion_object_ratio_get(obj);
+   emotion_object_size_get(event->obj, &iw, &ih);
+   ratio = emotion_object_ratio_get(event->obj);
    printf("HANDLE %ix%i @ %3.3f\n", iw, ih, ratio);
    if (ratio > 0.0) iw = (ih * ratio) + 0.5;
-   evas_object_size_hint_min_set(obj, iw, ih);
-   eo_do(oe, edje_obj_part_swallow( "video_swallow", obj),
+   evas_object_size_hint_min_set(event->obj, iw, ih);
+   eo_do(oe, edje_obj_part_swallow( "video_swallow", event->obj),
          edje_obj_size_min_calc(&w, &h),
          efl_gfx_size_set(w, h)
         );
-   eo_do(obj, evas_obj_size_hint_min_set(0, 0));
-   eo_do(oe, edje_obj_part_swallow( "video_swallow", obj));
+   eo_do(event->obj, evas_obj_size_hint_min_set(0, 0));
+   eo_do(oe, edje_obj_part_swallow( "video_swallow", event->obj));
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_length_change_cb(void *data,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_length_change_cb(void *data, const Eo_Event *event)
 {
    printf("len change!\n");
-   video_obj_time_changed(obj, data);
+   video_obj_time_changed(event->obj, data);
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_position_update_cb(void *data,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_position_update_cb(void *data, const Eo_Event *event)
 {
    printf("pos up!\n");
-   video_obj_time_changed(obj, data);
+   video_obj_time_changed(event->obj, data);
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_stopped_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_stopped_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    printf("video stopped!!!\n");
    if (loop)
      {
-        emotion_object_position_set(obj, 0.0);
-        emotion_object_play_set(obj, EINA_TRUE);
+        emotion_object_position_set(event->obj, 0.0);
+        emotion_object_play_set(event->obj, EINA_TRUE);
      }
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_channels_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_channels_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    printf("channels changed: [AUD %i][VID %i][SPU %i]\n",
-          emotion_object_audio_channel_count(obj),
-          emotion_object_video_channel_count(obj),
-          emotion_object_spu_channel_count(obj));
+          emotion_object_audio_channel_count(event->obj),
+          emotion_object_video_channel_count(event->obj),
+          emotion_object_spu_channel_count(event->obj));
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
- video_obj_title_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+ video_obj_title_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
-   printf("video title to: \"%s\"\n", emotion_object_title_get(obj));
+   printf("video title to: \"%s\"\n", emotion_object_title_get(event->obj));
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_progress_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_progress_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    printf("progress: \"%s\" %3.3f\n",
-          emotion_object_progress_info_get(obj),
-          emotion_object_progress_status_get(obj));
+          emotion_object_progress_info_get(event->obj),
+          emotion_object_progress_status_get(event->obj));
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_ref_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_ref_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    printf("video ref to: \"%s\" %i\n",
-          emotion_object_ref_file_get(obj),
-          emotion_object_ref_num_get(obj));
+          emotion_object_ref_file_get(event->obj),
+          emotion_object_ref_num_get(event->obj));
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_button_num_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_button_num_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    printf("video spu buttons to: %i\n",
-          emotion_object_spu_button_count_get(obj));
+          emotion_object_spu_button_count_get(event->obj));
 
    return EINA_TRUE;
 }
 
 static Eina_Bool
-video_obj_button_cb(void *data EINA_UNUSED,
-      Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+video_obj_button_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    printf("video selected spu button: %i\n",
-          emotion_object_spu_button_get(obj));
+          emotion_object_spu_button_get(event->obj));
 
    return EINA_TRUE;
 }
diff --git a/src/tests/eo/composite_objects/composite_objects_main.c 
b/src/tests/eo/composite_objects/composite_objects_main.c
index 6f78c9b..5ad11c6 100644
--- a/src/tests/eo/composite_objects/composite_objects_main.c
+++ b/src/tests/eo/composite_objects/composite_objects_main.c
@@ -13,11 +13,9 @@
 static int cb_called = EINA_FALSE;
 
 static Eina_Bool
-_a_changed_cb(void *data, Eo *obj, const Eo_Event_Description *desc, void 
*event_info)
+_a_changed_cb(void *data, const Eo_Event *event)
 {
-   (void) desc;
-   (void) obj;
-   int new_a = *((int *) event_info);
+   int new_a = *((int *) event->event_info);
    printf("%s event_info:'%d' data:'%s'\n", __func__, new_a, (const char *) 
data);
 
    cb_called = EINA_TRUE;
diff --git a/src/tests/eo/signals/signals_main.c 
b/src/tests/eo/signals/signals_main.c
index aadc34f..4fcfaef 100644
--- a/src/tests/eo/signals/signals_main.c
+++ b/src/tests/eo/signals/signals_main.c
@@ -10,27 +10,21 @@
 static int cb_count = 0;
 
 static Eina_Bool
-_null_cb(void *data, Eo *obj, const Eo_Event_Description *desc, void 
*event_info)
+_null_cb(void *data EINA_UNUSED, const Eo_Event *event EINA_UNUSED)
 {
-   (void) desc;
-   (void) obj;
-   (void) data;
-   (void) event_info;
    return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
-_a_changed_cb(void *data, Eo *obj, const Eo_Event_Description *desc, void 
*event_info)
+_a_changed_cb(void *data, const Eo_Event *event)
 {
-   (void) desc;
-   (void) obj;
-   int new_a = *((int *) event_info);
+   int new_a = *((int *) event->event_info);
    printf("%s event_info:'%d' data:'%d'\n", __func__, new_a, (int) (intptr_t) 
data);
 
    cb_count++;
 
-   eo_do(obj, eo_event_callback_priority_add(EV_A_CHANGED, 
EO_CALLBACK_PRIORITY_BEFORE, _null_cb, (void *) 23423));
-   eo_do(obj, eo_event_callback_del(EV_A_CHANGED, _null_cb, (void *) 23423));
+   eo_do(event->obj, eo_event_callback_priority_add(EV_A_CHANGED, 
EO_CALLBACK_PRIORITY_BEFORE, _null_cb, (void *) 23423));
+   eo_do(event->obj, eo_event_callback_del(EV_A_CHANGED, _null_cb, (void *) 
23423));
 
    /* Stop as we reached the 3rd one. */
    return (cb_count != 3);
diff --git a/src/tests/eo/signals/signals_simple.c 
b/src/tests/eo/signals/signals_simple.c
index fd3138d..d3145e5 100644
--- a/src/tests/eo/signals/signals_simple.c
+++ b/src/tests/eo/signals/signals_simple.c
@@ -27,36 +27,32 @@ _a_set(Eo *obj, void *class_data, int a)
 }
 
 Eina_Bool
-_cb_added(void *data, Eo *obj, const Eo_Event_Description *desc, void 
*event_info)
+_cb_added(void *data, const Eo_Event *event)
 {
-   Simple_Public_Data *pd = eo_data_scope_get(obj, MY_CLASS);
-   const Eo_Callback_Array_Item *callback_array = event_info;
-   (void) data;
-   (void) desc;
+   Simple_Public_Data *pd = eo_data_scope_get(event->obj, MY_CLASS);
+   const Eo_Callback_Array_Item *callback_array = event->event_info;
 
    if (callback_array->desc != EV_A_CHANGED)
       return EINA_TRUE;
 
    pd->cb_count++;
 
-   printf("Added EV_A_CHANGED callback to %p. Count: %d\n", obj, pd->cb_count);
+   printf("Added EV_A_CHANGED callback to %p. Count: %d\n", event->obj, 
pd->cb_count);
    return EO_CALLBACK_CONTINUE;
 }
 
 Eina_Bool
-_cb_deled(void *data, Eo *obj, const Eo_Event_Description *desc, void 
*event_info)
+_cb_deled(void *data, const Eo_Event *event)
 {
-   Simple_Public_Data *pd = eo_data_scope_get(obj, MY_CLASS);
-   const Eo_Callback_Array_Item *callback_array = event_info;
-   (void) data;
-   (void) desc;
+   Simple_Public_Data *pd = eo_data_scope_get(event->obj, MY_CLASS);
+   const Eo_Callback_Array_Item *callback_array = event->event_info;
 
    if (callback_array->desc != EV_A_CHANGED)
       return EINA_TRUE;
 
    pd->cb_count--;
 
-   printf("Removed EV_A_CHANGED callback from %p. Count: %d\n", obj, 
pd->cb_count);
+   printf("Removed EV_A_CHANGED callback from %p. Count: %d\n", event->obj, 
pd->cb_count);
    return EO_CALLBACK_CONTINUE;
 }
 
diff --git a/src/tests/eo/suite/eo_test_general.c 
b/src/tests/eo/suite/eo_test_general.c
index f445389..6c85b31 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -48,7 +48,7 @@ static int _eo_signals_cb_current = 0;
 static int _eo_signals_cb_flag = 0;
 
 static Eina_Bool
-_eo_signals_a_changed_cb(void *_data, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_eo_signals_a_changed_cb(void *_data, const Eo_Event *event EINA_UNUSED)
 {
    int data = (intptr_t) _data;
    _eo_signals_cb_current++;
@@ -58,14 +58,14 @@ _eo_signals_a_changed_cb(void *_data, Eo *obj EINA_UNUSED, 
const Eo_Event_Descri
 }
 
 static Eina_Bool
-_eo_signals_a_changed_cb2(void *_data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_eo_signals_a_changed_cb2(void *_data EINA_UNUSED, const Eo_Event *event 
EINA_UNUSED)
 {
    _eo_signals_cb_flag |= 0x2;
    return EO_CALLBACK_STOP;
 }
 
 static Eina_Bool
-_eo_signals_a_changed_never(void *_data EINA_UNUSED, Eo *obj EINA_UNUSED, 
const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_eo_signals_a_changed_never(void *_data EINA_UNUSED, const Eo_Event *event 
EINA_UNUSED)
 {
    /* This one should never be called. */
    fail_if(1);
@@ -73,16 +73,16 @@ _eo_signals_a_changed_never(void *_data EINA_UNUSED, Eo 
*obj EINA_UNUSED, const
 }
 
 static Eina_Bool
-_eo_signals_eo_del_cb(void *_data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
+_eo_signals_eo_del_cb(void *_data EINA_UNUSED, const Eo_Event *event 
EINA_UNUSED)
 {
    _eo_signals_cb_flag |= 0x4;
    return EO_CALLBACK_CONTINUE;
 }
 
 Eina_Bool
-_eo_signals_cb_added_deled(void *data, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info)
+_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_array = event->event_info;
 
    fail_if((callback_array != data) &&
          (callback_array->func != _eo_signals_cb_added_deled));

-- 


Reply via email to