*/
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.
* @{
]]
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;
_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)
{
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"