diff --git a/src/lib/ecore/Ecore_Common.h b/src/lib/ecore/Ecore_Common.h index 9d70ae535e..c446fb3b05 100644 --- a/src/lib/ecore/Ecore_Common.h +++ b/src/lib/ecore/Ecore_Common.h @@ -3207,17 +3207,4 @@ typedef struct _Ecore_Job Ecore_Job; /**< A job handle */ * @} */ - -#ifdef EFL_BETA_API_SUPPORT - -/* - * @brief Function callback type for when creating Ecore_Thread that - * uses Efl_Future for communication. - */ -typedef void (*Ecore_Thread_Future_Cb)(const void *data, Eo *promise, Ecore_Thread *thread); - -EAPI Efl_Future *ecore_thread_future_run(Ecore_Thread_Future_Cb heavy, const void *data, Eina_Free_Cb free_cb); - -#endif - #endif diff --git a/src/lib/ecore/ecore_thread.c b/src/lib/ecore/ecore_thread.c index 2dc16ed389..1d8435fb94 100644 --- a/src/lib/ecore/ecore_thread.c +++ b/src/lib/ecore/ecore_thread.c @@ -1619,44 +1619,3 @@ _ecore_thread_future_none(void *data, const Efl_Event *ev EINA_UNUSED) // Cancelling thread if there is nobody listening on the promise anymore ecore_thread_cancel(t); } - -EAPI Efl_Future * -ecore_thread_future_run(Ecore_Thread_Future_Cb heavy, const void *data, Eina_Free_Cb free_cb) -{ - Ecore_Thread *t; - Eo *p; - - if (!heavy) return NULL; - - EFL_OPS_DEFINE(thread_safe_call, - EFL_OBJECT_OP_FUNC(efl_promise_value_set, _ecore_thread_value_set), - EFL_OBJECT_OP_FUNC(efl_promise_failed_set, _ecore_thread_failed_set), - EFL_OBJECT_OP_FUNC(efl_promise_progress_set, _ecore_thread_progress_set)); - - efl_domain_current_push(EFL_ID_DOMAIN_SHARED); - - efl_wref_add(efl_add(EFL_PROMISE_CLASS, efl_main_loop_get()), &p); - if (!p) goto end; - - efl_object_override(p, &thread_safe_call); - - efl_key_data_set(p, "_ecore_thread.data", data); - efl_key_data_set(p, "_ecore_thread.free_cb", free_cb); - efl_key_data_set(p, "_ecore_thread.heavy", heavy); - - t = ecore_thread_run(_ecore_thread_future_heavy, - _ecore_thread_future_end, - _ecore_thread_future_end, - p); - - if (p) - { - efl_event_callback_add(p, EFL_PROMISE_EVENT_FUTURE_NONE, _ecore_thread_future_none, t); - efl_wref_del(p, &p); - } - - end: - efl_domain_current_pop(); - - return p ? efl_promise_future_get(p) : NULL; -}