eo: move future_link to C
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 26 Apr 2017 12:25:37 +0000 (14:25 +0200)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 26 Apr 2017 14:19:06 +0000 (16:19 +0200)
src/lib/eo/Eo.h
src/lib/eo/efl_object.eo
src/lib/eo/eo_base_class.c

index 259e1ac37c9745d0c45245119c350b6b8b654830..60258a248e84f8a5d87622052d7b9c45e20323fa 100644 (file)
@@ -341,6 +341,15 @@ EOAPI Eina_Bool efl_event_callback_call(Eo *obj, const Efl_Event_Description *de
  */
 EOAPI Eina_Bool efl_event_callback_legacy_call(Eo *obj, const Efl_Event_Description *desc, void *event_info);
 
+/**
+ * @brief Track a future life cycle and cancel it if the object dies.
+ *
+ * @param[in] link The future to link with the object
+ *
+ * @return @c true if it succeeded on setting up the tracking.
+ */
+EOAPI Eina_Bool efl_future_link(Eo *obj, Efl_Future *link);
+
 /**
  * @addtogroup Eo_Debug_Information Eo's Debug information helper.
  * @{
index 6d0aa97bd453d4beade3b56ee2f5ec585f5ec7d6..8daa6cd33f4decc10a4d4c2247b571d7936ffe3f 100644 (file)
@@ -343,13 +343,6 @@ abstract Efl.Object ()
            ]]
            return: bool; [[$true if it is. $false otherwise.]]
       }
-      future_link {
-           [[Track a future life cycle and cancel it if the object die]]
-           params {
-                @in link: future<void_ptr>; [[The future to link with the object]]
-           }
-           return: bool; [[$true if it succeeded on setting up the tracking.]]
-      }
    }
    implements {
         class.constructor;
index aafa65590a7721d3da10958e84a2cdbf5eee5d34..fa9efbc30e8ea19d4d44327a510ea9c220a64f9f 100644 (file)
@@ -1951,6 +1951,8 @@ _efl_object_future_link_tracking_end(void *data, const Efl_Event *ev)
    _efl_object_extension_noneed(pd);
 }
 
+EOAPI EFL_FUNC_BODYV(efl_future_link, Eina_Bool, 0, EFL_FUNC_CALL(link), Efl_Future *link);
+
 EOLIAN static Eina_Bool
 _efl_object_future_link(Eo *obj EINA_UNUSED, Efl_Object_Data *pd, Efl_Future *link)
 {
@@ -1971,6 +1973,7 @@ _efl_object_future_link(Eo *obj EINA_UNUSED, Efl_Object_Data *pd, Efl_Future *li
    EFL_OBJECT_OP_FUNC(efl_event_callback_array_del, _efl_object_event_callback_array_del), \
    EFL_OBJECT_OP_FUNC(efl_event_callback_call, _efl_object_event_callback_call), \
    EFL_OBJECT_OP_FUNC(efl_event_callback_legacy_call, _efl_object_event_callback_legacy_call), \
-   EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_object_dbg_info_get)
+   EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_object_dbg_info_get), \
+   EFL_OBJECT_OP_FUNC(efl_future_link, _efl_object_future_link)
 
 #include "efl_object.eo.c"