jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=0657cd583f7c451b28130e699aef26893603c0b6

commit 0657cd583f7c451b28130e699aef26893603c0b6
Author: Avi Levin <avi.le...@samsung.com>
Date:   Tue Apr 28 19:37:09 2015 +0300

    elc_player: porting evas smart callbacks to eo
---
 src/lib/elc_player.c | 206 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 113 insertions(+), 93 deletions(-)

diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c
old mode 100644
new mode 100755
index 1818e1f..91e38ed
--- a/src/lib/elc_player.c
+++ b/src/lib/elc_player.c
@@ -210,16 +210,15 @@ _elm_player_elm_layout_sizing_eval(Eo *obj, 
Elm_Player_Data *sd EINA_UNUSED)
    evas_object_size_hint_min_set(obj, w, h);
 }
 
-static void
+static Eina_Bool
 _update_slider(void *data,
-               Evas_Object *obj EINA_UNUSED,
-               void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    double pos, length;
    Eina_Bool seekable;
 
    ELM_PLAYER_DATA_GET(data, sd);
-   if (!sd) return;
+   if (!sd) return EINA_TRUE;
 
    seekable = elm_video_is_seekable_get(sd->video);
    length = elm_video_play_length_get(sd->video);
@@ -231,22 +230,24 @@ _update_slider(void *data,
    if ((elm_slider_value_get(sd->slider) != pos) &&
        (!sd->dragging))
      elm_slider_value_set(sd->slider, pos);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _update_frame(void *data,
-              Evas_Object *obj,
-              void *event_info)
+      Eo *obj, const Eo_Event_Description *desc, void *event_info)
 {
    ELM_PLAYER_DATA_GET(data, sd);
-   if (!sd) return;
-   _update_slider(data, obj, event_info);
+   if (!sd) return EINA_TRUE;
+   _update_slider(data, obj, desc, event_info);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _update_position(void *data,
-                 Evas_Object *obj EINA_UNUSED,
-                 void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    double pos;
    ELM_PLAYER_DATA_GET(data, sd);
@@ -254,30 +255,33 @@ _update_position(void *data,
    pos = elm_slider_value_get(sd->slider);
    if (pos != elm_video_play_position_get(sd->video))
      elm_video_play_position_set(sd->video, pos);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _drag_start(void *data,
-            Evas_Object *obj EINA_UNUSED,
-            void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    ELM_PLAYER_DATA_GET(data, sd);
    sd->dragging = EINA_TRUE;
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _drag_stop(void *data,
-            Evas_Object *obj EINA_UNUSED,
-            void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    ELM_PLAYER_DATA_GET(data, sd);
    sd->dragging = EINA_FALSE;
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _update_volume(void *data,
-                 Evas_Object *obj EINA_UNUSED,
-                 void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    double vol;
    ELM_PLAYER_DATA_GET(data, sd);
@@ -285,12 +289,13 @@ _update_volume(void *data,
    vol = elm_slider_value_get(sd->vslider) / 100.0;
    if (vol != elm_video_audio_level_get(sd->video))
      elm_video_audio_level_set(sd->video, vol);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _forward(void *data,
-         Evas_Object *obj EINA_UNUSED,
-         void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    double pos, length;
    ELM_PLAYER_DATA_GET(data, sd);
@@ -302,64 +307,70 @@ _forward(void *data,
    elm_video_play_position_set(sd->video, pos);
 
    elm_layout_signal_emit(data, "elm,button,forward", "elm");
-   evas_object_smart_callback_call(data, SIG_FORWARD_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_FORWARD_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _info(void *data,
-      Evas_Object *obj EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,button,info", "elm");
-   evas_object_smart_callback_call(data, SIG_INFO_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_INFO_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _next(void *data,
-      Evas_Object *obj EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,button,next", "elm");
-   evas_object_smart_callback_call(data, SIG_NEXT_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_NEXT_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _pause(void *data,
-       Evas_Object *obj EINA_UNUSED,
-       void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    ELM_PLAYER_DATA_GET(data, sd);
 
    elm_layout_signal_emit(data, "elm,player,pause", "elm");
    elm_video_pause(sd->video);
-   evas_object_smart_callback_call(data, SIG_PAUSE_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_PAUSE_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _play(void *data,
-      Evas_Object *obj EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    ELM_PLAYER_DATA_GET(data, sd);
 
    elm_layout_signal_emit(data, "elm,player,play", "elm");
    elm_video_play(sd->video);
-   evas_object_smart_callback_call(data, SIG_PLAY_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_PLAY_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _prev(void *data,
-      Evas_Object *obj EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
-   evas_object_smart_callback_call(data, SIG_PREV_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_PREV_CLICKED, NULL));
    elm_layout_signal_emit(data, "elm,button,prev", "elm");
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _rewind(void *data,
-        Evas_Object *obj EINA_UNUSED,
-        void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    double pos;
    ELM_PLAYER_DATA_GET(data, sd);
@@ -370,28 +381,32 @@ _rewind(void *data,
    elm_video_play_position_set(sd->video, pos);
 
    elm_layout_signal_emit(data, "elm,button,rewind", "elm");
-   evas_object_smart_callback_call(data, SIG_REWIND_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_REWIND_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _stop(void *data,
-      Evas_Object *obj EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,button,stop", "elm");
-   evas_object_smart_callback_call(data, SIG_STOP_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_QUALITY_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _eject(void *data,
-       Evas_Object *obj EINA_UNUSED,
-       void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    ELM_PLAYER_DATA_GET(data, sd);
 
    elm_layout_signal_emit(data, "elm,button,eject", "elm");
    emotion_object_eject(elm_video_emotion_get(sd->video));
-   evas_object_smart_callback_call(data, SIG_EJECT_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_EJECT_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
 static void
@@ -411,40 +426,44 @@ _mute_toggle(Evas_Object *obj)
      }
 }
 
-static void
+static Eina_Bool
 _volume(void *data,
-        Evas_Object *obj EINA_UNUSED,
-        void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,button,volume", "elm");
    _mute_toggle(data);
-   evas_object_smart_callback_call(data, SIG_VOLUME_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_VOLUME_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _mute(void *data,
-      Evas_Object *obj EINA_UNUSED,
-      void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,button,mute", "elm");
    _mute_toggle(data);
-   evas_object_smart_callback_call(data, SIG_MUTE_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_MUTE_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _play_started(void *data,
-              Evas_Object *obj EINA_UNUSED,
-              void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,player,play", "elm");
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _play_finished(void *data,
-               Evas_Object *obj EINA_UNUSED,
-               void *event_info EINA_UNUSED)
+      Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    elm_layout_signal_emit(data, "elm,player,pause", "elm");
+
+   return EINA_TRUE;
 }
 
 static void
@@ -480,7 +499,7 @@ _video_del(void *data,
 static Evas_Object *
 _player_button_add(Evas_Object *obj,
                    const char *name,
-                   Evas_Smart_Cb func)
+                   Eo_Event_Cb func)
 {
    Evas_Object *ic;
    Evas_Object *bt;
@@ -500,7 +519,8 @@ _player_button_add(Evas_Object *obj,
    snprintf(buf, sizeof(buf), "media_player/%s/%s", name,
             elm_widget_style_get(obj));
    elm_object_style_set(bt, buf);
-   evas_object_smart_callback_add(bt, "clicked", func, obj);
+   eo_do(bt, eo_event_callback_add
+            (EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED,func, obj));
    snprintf(buf, sizeof(buf), "elm.swallow.media_player.%s", name);
    if (!elm_layout_content_set(obj, buf, bt))
      {
@@ -604,18 +624,18 @@ _elm_player_elm_container_content_set(Eo *obj, 
Elm_Player_Data *sd, const char *
      elm_layout_signal_emit(obj, "elm,player,play", "elm");
    else elm_layout_signal_emit(obj, "elm,player,pause", "elm");
 
-   evas_object_smart_callback_add(sd->emotion, "frame_decode",
-                                  _update_frame, obj);
-   evas_object_smart_callback_add(sd->emotion, "frame_resize",
-                                  _update_slider, obj);
-   evas_object_smart_callback_add(sd->emotion, "length_change",
-                                  _update_slider, obj);
-   evas_object_smart_callback_add(sd->emotion, "position_update",
-                                  _update_frame, obj);
-   evas_object_smart_callback_add(sd->emotion, "playback_started",
-                                  _play_started, obj);
-   evas_object_smart_callback_add(sd->emotion, "playback_finished",
-                                  _play_finished, obj);
+   eo_do(sd->emotion, eo_event_callback_add
+     (EMOTION_OBJECT_EVENT_FRAME_DECODE, _update_frame, obj));
+   eo_do(sd->emotion, eo_event_callback_add
+     (EMOTION_OBJECT_EVENT_FRAME_RESIZE, _update_slider, obj));
+   eo_do(sd->emotion, eo_event_callback_add
+     (EMOTION_OBJECT_EVENT_LENGTH_CHANGE, _update_slider, obj));
+   eo_do(sd->emotion, eo_event_callback_add
+     (EMOTION_OBJECT_EVENT_POSITION_UPDATE, _update_frame, obj));
+   eo_do(sd->emotion, eo_event_callback_add
+     (EMOTION_OBJECT_EVENT_PLAYBACK_STARTED, _play_started, obj));
+   eo_do(sd->emotion, eo_event_callback_add
+     (EMOTION_OBJECT_EVENT_PLAYBACK_FINISHED, _play_finished, obj));
 
    /* FIXME: track info from video */
 end:
@@ -662,12 +682,12 @@ _elm_player_evas_object_smart_add(Eo *obj, 
Elm_Player_Data *priv)
      (priv->slider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_layout_content_set(obj, "elm.swallow.media_player.positionslider",
                           priv->slider);
-   evas_object_smart_callback_add
-     (priv->slider, "changed", _update_position, obj);
-   evas_object_smart_callback_add
-     (priv->slider, "slider,drag,start", _drag_start, obj);
-   evas_object_smart_callback_add
-     (priv->slider, "slider,drag,stop", _drag_stop, obj);
+   eo_do(priv->slider, eo_event_callback_add
+     (ELM_SLIDER_EVENT_CHANGED, _update_position, obj));
+   eo_do(priv->slider, eo_event_callback_add
+     (ELM_SLIDER_EVENT_SLIDER_DRAG_START, _drag_start, obj));
+   eo_do(priv->slider, eo_event_callback_add
+     (ELM_SLIDER_EVENT_SLIDER_DRAG_STOP, _drag_stop, obj));
 
    priv->vslider = elm_slider_add(obj);
    elm_slider_indicator_show_set(priv->vslider, EINA_FALSE);
@@ -683,8 +703,8 @@ _elm_player_evas_object_smart_add(Eo *obj, Elm_Player_Data 
*priv)
      (priv->vslider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_layout_content_set(obj, "elm.swallow.media_player.volumeslider",
                           priv->vslider);
-   evas_object_smart_callback_add
-     (priv->vslider, "changed", _update_volume, obj);
+   eo_do(priv->vslider, eo_event_callback_add
+     (ELM_SLIDER_EVENT_CHANGED,_update_volume, obj));
 
    elm_layout_sizing_eval(obj);
    elm_widget_can_focus_set(obj, EINA_TRUE);

-- 


Reply via email to