From d95a0a137716b42039c315e62c5a11fc6150cc3d Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Mon, 11 Dec 2017 13:39:00 -0800 Subject: [PATCH] ecore: remove efl_loop_job(). --- src/lib/ecore/ecore_main.c | 91 -------------------------------------- src/lib/ecore/efl_loop.eo | 7 --- 2 files changed, 98 deletions(-) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index a88357b2d5..26065fa243 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -3093,30 +3093,6 @@ _efl_loop_efl_object_destructor(Eo *obj, Efl_Loop_Data *pd) efl_destructor(efl_super(obj, EFL_LOOP_CLASS)); } -typedef struct _Efl_Internal_Promise Efl_Internal_Promise; -struct _Efl_Internal_Promise -{ - union { - Ecore_Job *job; - Efl_Loop_Timer *timer; - } u; - Efl_Promise *promise; - - const void *data; - - Eina_Bool job_is : 1; -}; - -static void -_efl_loop_job_cb(void *data) -{ - Efl_Internal_Promise *j = data; - - efl_promise_value_set(j->promise, (void*) j->data, NULL); - - free(j); -} - static void _efl_loop_arguments_cleanup(Eina_Array *arga) { @@ -3289,73 +3265,6 @@ _efl_loop_timeout(Eo *obj, Efl_Loop_Data *pd EINA_UNUSED, double time) return NULL; } -/* This event will be triggered when the main loop is destroyed and destroy its timers along */ -static void _efl_loop_internal_cancel(Efl_Internal_Promise *p); - -static void _efl_loop_job_cancel(void* data, const Efl_Event *ev EINA_UNUSED); - -static void -_efl_loop_internal_cancel(Efl_Internal_Promise *p) -{ - efl_promise_failed_set(p->promise, EINA_ERROR_FUTURE_CANCEL); - efl_del(p->promise); - free(p); -} - -static void -_efl_loop_job_cancel(void* data, const Efl_Event *ev EINA_UNUSED) -{ - Efl_Internal_Promise *j = data; - - if (j->job_is) - { - ecore_job_del(j->u.job); - } - - _efl_loop_internal_cancel(j); -} - -static Efl_Internal_Promise * -_efl_internal_promise_new(Efl_Promise* promise, const void *data) -{ - Efl_Internal_Promise *p; - - p = calloc(1, sizeof (Efl_Internal_Promise)); - if (!p) return NULL; - - efl_event_callback_add(promise, EFL_PROMISE_EVENT_FUTURE_NONE, _efl_loop_job_cancel, p); - - p->promise = promise; - p->data = data; - - return p; -} - -static Efl_Future * -_efl_loop_job(Eo *obj, Efl_Loop_Data *pd EINA_UNUSED, const void *data) -{ - Efl_Internal_Promise *j; - Efl_Object *promise; - - promise = efl_add(EFL_PROMISE_CLASS, obj); - if (!promise) return NULL; - - j = _efl_internal_promise_new(promise, data); - if (!j) goto on_error; - - j->job_is = EINA_TRUE; - j->u.job = ecore_job_add(_efl_loop_job_cb, j); - if (!j->u.job) goto on_error; - - return efl_promise_future_get(promise); - - on_error: - efl_del(promise); - free(j); - - return NULL; -} - static Eina_Bool _efl_loop_register(Eo *obj EINA_UNUSED, Efl_Loop_Data *pd, const Efl_Class *klass, const Efl_Object *provider) { diff --git a/src/lib/ecore/efl_loop.eo b/src/lib/ecore/efl_loop.eo index 17cf0c7341..de1a429b60 100644 --- a/src/lib/ecore/efl_loop.eo +++ b/src/lib/ecore/efl_loop.eo @@ -95,13 +95,6 @@ class Efl.Loop (Efl.Object) } return: ptr(Eina.Future) @owned /* future */; [[The future handle.]] } - job { - [[Will execute that promise in the near future.]] - params { - @in data: const(void_ptr) @optional; [[The data to be given when the promise is done.]] - } - return: future; [[The promise that will be triggered.]] - } register { [[Will register a manager of a specific class to be answered by eo.provider_find.]] params {