Commit Graph

40 Commits

Author SHA1 Message Date
Cedric BAIL 150bc0fa14 eio: work around the lack of integration between Ecore_Thread and Eina_Future.
Ecore_Thread excpect resolution of the error and done case to be instantaneous,
while Eina_Future default scheduler linked with Ecore main loop is build around
asynchronous answer. This create a lot of potential. A better patch would be
to provide an Ecore_Thread helper that does the integration properly. Sadly
we are in release now, so this is basically what an helper would do, but
contained inside Efl_Io_Manager.

This also solve the same problem as D7970 and D8053, but it should avoid its
side effect.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8371
2019-03-27 15:03:33 -07:00
Cedric BAIL 563f91eaf9 ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data.
If you need data, use a efl_future_then as done in every case here to get the same feature.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577
2019-01-16 14:33:26 -08:00
Cedric BAIL 04090f3e7a eio: remove use of eina_promise_data_set.
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7572
2019-01-16 14:33:16 -08:00
Carsten Haitzler 318d16846f Revert "Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.""
This reverts commit 42e886d8d6.
2018-12-26 17:50:09 +00:00
Marcel Hollerbach 42e886d8d6 Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."
This reverts commit 9b5155c9f1.

For now lets revert this, this breaks copy and paste, further more it
has the potential to break a lot more things, as eio_model tends to use
efl_loop_promise new, and then eina_promise_data_set, which is
explicitly forbidden.

This fixes crashing terminology instances.
2018-12-26 12:31:08 +01:00
Cedric BAIL 9b5155c9f1 ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.
I am not sure this is the right way to do it as binding would have to likely
to bind it manually.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D7492
2018-12-20 12:42:34 -08:00
Cedric BAIL 5de51f84fb eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has been available for some time.
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7327
2018-11-23 11:39:43 -08:00
Cedric BAIL a34a733b7b eio: remove last remnant of Efl_Promise. 2018-05-01 10:39:01 -07:00
Cedric BAIL 8f17ab22ac eio: handle future cancellation properly for Efl.Io.Manager. 2018-05-01 10:39:01 -07:00
Cedric BAIL bba8fbe449 eio: improve efl.io.manager API by being const when not touching the object. 2018-04-30 14:21:12 -07:00
Cedric Bail 202f433476 eio: remove unecessary helper function Efl.Io.Manager. 2018-04-30 14:21:12 -07:00
Cedric Bail 9882a28736 eio: fix efl_io_manager_stat after conversion to Eina_Future. 2018-04-30 14:21:12 -07:00
Cedric Bail 6de16678b9 eio: convert efl_io_manager_stat_ls to use Eina_Future. 2018-04-30 14:21:12 -07:00
Cedric Bail 51776fb94a eio: convert efl_io_manager_direct_ls to Eina_Future. 2018-04-30 14:21:12 -07:00
Cedric Bail da45eb54a8 eio: switch Efl.Io.Manager to actually use Array instead of Accessor (to avoid unecessary callback). 2018-04-30 14:21:12 -07:00
Cedric BAIL 44dceade11 eio: share _efl_io_manager_future_cancel with all of eio. 2018-04-30 14:21:12 -07:00
Cedric BAIL afb18198bb eio: allow access to Eina_Value Eina_Stat description from all part of the library. 2018-04-30 14:21:12 -07:00
Daniel Kolesa fcae7cab27 eolian gen: enable constness generation on property getter impls
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.

Ref T6859.
2018-04-17 20:31:55 +02:00
Cedric BAIL fd0bcc201b eio: switch code to simpler pattern with efl_loop_promise_new. 2018-01-03 12:16:25 -08:00
Cedric BAIL fa0ba4c0c9 eio: remove uneeded function. 2017-12-15 09:45:48 -08:00
Cedric Bail d5c9c0b784 eio: migrate Efl.Io.Manager.xattr_ls to use Eina_Future. 2017-12-14 16:42:44 -08:00
Cedric Bail c549f2c993 eio: do not copy memory for nothing. 2017-09-28 18:31:34 -07:00
Cedric Bail 961c860d65 eio: use TIMESTAMP when meaningful. 2017-09-28 18:31:34 -07:00
Cedric Bail 0fb9af0506 eio: migrate efl.io.manager.ls to use Eina_Future. 2017-09-28 18:31:34 -07:00
Cedric BAIL 245ea06a65 eio: convert Efl.Io.Manager.stat() to return Eina_Future. 2017-09-27 16:32:58 -07:00
Cedric Bail cba58203a3 eio: move efl.io.manager.xattr.get to use the new Eina_Future. 2017-09-14 10:11:29 -07:00
Cedric BAIL 6a4bc78eaf eio: don't flush value after giving ownership. 2017-09-14 09:36:33 -07:00
Cedric Bail b9ef9af74a eio: migrate efl.io.manager.open to use Eina_Future. 2017-09-13 15:53:00 -07:00
Cedric BAIL de106a2973 eio: move efl.io.manager.close to use the new future. 2017-09-12 14:08:40 -07:00
Cedric BAIL 2e4d357a26 eio: simplify promise use. 2017-09-12 10:22:21 -07:00
Cedric BAIL e33d0d9996 eio: first convertion to new future/promise. 2017-09-11 16:10:46 -07:00
Jean-Philippe Andre 7f6f282210 Efl.Loop.User: Use prefix to rename efl_loop_user_loop_get
efl_loop_user_loop_get is idiotic. efl_loop_get should be good enough.
2016-10-06 12:24:59 +09:00
Felipe Magno de Almeida 1a2014a122 efl: Update Efl.Model to use new Efl_Promise and Efl_Future
Replaced all Eina_Promise_Owner and Eina_Promise with Efl_Promise and
Efl_Future.
2016-09-29 13:12:27 -03:00
Cedric BAIL bd362b13d6 efl: add documentation and last cleanup of the API. 2016-09-08 15:16:43 -07:00
Cedric BAIL 0c067fb62f eio: implement efl_io_manager_xattr_ls 2016-09-08 15:16:43 -07:00
Cedric Bail 52c63190d5 eio: rework efl_io_manager to use efl_future. 2016-09-08 15:16:23 -07:00
Vitor Sousa 8356b16a49 Efl Object: remove legacy callback calls from event_callback_call
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.

Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.

Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
2016-08-26 15:45:07 -03:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Cedric BAIL 10aadafcfd eio: rename eio_job to efl_io_manager.
There is still a lot of work to do in this API to make it efficient and
stable. Will try to get at it before 1.18 release.
2016-06-22 13:19:13 -07:00