summaryrefslogtreecommitdiff
path: root/src/lib/eio/eio_model.c (follow)
AgeCommit message (Collapse)Author
2019-01-31efl_model : rename all efl_model based classes.SangHyeon Jade Lee
Summary: As the result of discussion in T7458, we need to rename all efl_model based classes with efl_XXX_Model sequence. I've run few vote for this, see V42, V43 few classes are totally renamed as our consideration of misnaming. | Efl.Model_Loop | Efl.Loop_Model | | Efl.Model_Item | Efl.Generic_Model | | Efl.Model_Container | Efl.Container_Model | | Efl.Model_Container_Item | Efl.Container_Model_Item | | Efl.Model_Composite | Efl.Composite_Model | | Efl.Model_Composite_Boolean | Efl.Boolean_Model | | Efl.Model_Composite_Boolean_Chlidren | Efl.Boolean_Model_Item | | Efl.Model_Composite_Selection | Efl.Select_Model | | Efl.Model_Composite_Selection_Chlidren | Efl.Select_Model_Item | | Efl.Model_View | Efl.View_Model | | Eio.Model | Efl.Io.Model | | Efl.Ui.Model_State | Efl.Ui.State_Model | | Efl.Ui.Model_Size | Efl.Ui.Size_Model | | Efl.Ui.Model_Exact | Efl.Ui.Exact_Model | | Efl.Ui.Model_Average | Efl.Ui.Average_Model | | Efl.Ui.Model_Homogeneous | Efl.Ui.Homogeneous_Model | I worried about Efl.Io.Model changes, cause it is widely used, but as I tested, there is no issue found yet. Eldbus.Model also may can changed Efl.Dbus.Model, but I cannot found any class who using Efl.Dbus namespace, so I left it future work. Test Plan: Run the Make Test, it works well except Efl test about selection. there are class inheritance problem exist in select_model, I reported it and will fix it in another patch. Reviewers: cedric, felipealmeida, woohyun, Hermet Reviewed By: cedric Subscribers: lauromoura Tags: #efl, #do_not_merge Differential Revision: https://phab.enlightenment.org/D7533
2019-01-16ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the ↵Cedric BAIL
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-16eio: remove use of eina_promise_data_set.Cedric BAIL
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
2018-12-26Revert "Revert "ecore: make efl_loop_promise_new a function of ↵Carsten Haitzler (Rasterman)
Efl.Loop_Consumer."" This reverts commit 42e886d8d61d551bb544b777e6d254ce4dd3fcf1.
2018-12-26Revert "ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer."Marcel Hollerbach
This reverts commit 9b5155c9f135f9ef450a817979f5884352b2d4c0. 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-20ecore: make efl_loop_promise_new a function of Efl.Loop_Consumer.Cedric BAIL
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-11-30eio: simplify code by using helper that generate future directly.Cedric BAIL
The new helper help replace call to eina_future_resolved and eina_future_rejected with a scheduler lookup to just one function call. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7339
2018-11-30eio: we do not need to actually loop explicitely for the loop here.Cedric BAIL
Actually efl_loop_future_scheduler_get does lookup on the object and its provider someone that could be a loop provider and find a scheduler. There is no need to custom look for a loop provider. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7338
2018-11-30eio: simplify code by using proper helper.Cedric BAIL
efl_loop_promise_new is a helper function that does automatically figure out an available scheduler and create a promise from it. Basically replacing the call to eina_promise_new(efl_loop_future_scheduler_get(o), ...). Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7334
2018-11-23eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has ↵Cedric BAIL
been available for some time. Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7327
2018-11-23eio: use the right type of Eina_Value to report error.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7322
2018-11-23efl: make Efl.Model.properties_get return an Iterator<string>.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D7289
2018-11-09xxx - fix eina_future_then calls to pass sotrage val - fix warnsCarsten Haitzler (Rasterman)
2018-07-10eio_model: Fix deleting files that don't have assigned types yetDerek Foreman
Summary: Trying to delete a file from a creation notification callback can fail. Sometimes the eio model test would sit forever in select() waiting for events that will never occur because of this. This happens since d84a268a71b09d585f1672b44ade698d7babe28d broke deleting of files that haven't yet been assigned a type. Before this commit a delete_me flag would be set before attempting to build a stat buf asynchronously, and then on completion the file would be deleted. I think this was changed because that could potentially race with other async calls and delete the file sooner than expected. So instead of reverting I've made a special delete path that shouldn't race with non-delete paths. Reviewers: devilhorns, zmike Reviewed By: zmike Subscribers: cedric, #committers, zmike Tags: #efl Differential Revision: https://phab.enlightenment.org/D6543
2018-06-07Eio: fix eio_model children_slice_get allLarry Lira
2018-05-24eio: enforce eio model to have a parent that provide main loop access.Cedric BAIL
2018-05-05eio: on error/cancel properly destroy weak reference.Cedric BAIL
2018-05-05eio: cancel idler on Eio.Model destruction properly.Cedric BAIL
2018-05-04eio: do not call efl_model_child_del at the end of build_st as that might ↵Cedric BAIL
result in the destruction of files.
2018-05-02eio: prevent asynchronous destruction of object while thread is still running.Cedric Bail
2018-05-02eio: fix windows buildMike Blumenkrantz
Summary: S_ISSOCK does not exist because sockets do not exist Reviewers: vtorri, cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D6035
2018-05-01efl: update Efl.Model to properly propagate ↵Cedric BAIL
EFL_MODEL_EVENT_CHILDREN_COUNT_CHANGED.
2018-04-30eio: migrate to the new efl.model API.Cedric Bail
2018-04-17eolian gen: enable constness generation on property getter implsDaniel Kolesa
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-03-29efl_add_ref - fis to use efl_add properly with a parent.Carsten Haitzler (Rasterman)
fixes bc18b7e7ad1f8c5d587400b27fabab0865017011 and 168849e8a08966ecc284e28f64126a3a85965965
2018-03-20efl: use efl_add_ref to create objects which have no parentCedric BAIL
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-03Revert "cxx: Fix manual code after efl_app change."Carsten Haitzler (Rasterman)
This reverts commit 135154303bea691c6f7f9472a5dec32d9103c38d. Revert "efl: move signal events from efl.loop to efl.app" This reverts commit 3dbca39f98288580c62a43c179ac11621433ec88. Revert "efl: add test suite for efl_app" This reverts commit 3e94be5d73256a7f5c02d3a9474173226be7beff. Revert "efl: create Efl.App class, the parent of Efl.Loop" This reverts commit 28fe00b94e55575c15684959b89a614d5a579309. Go back to before efl.app because I think this should be done with superclassing here not a parent object. reasons? 1. multiple loops per single thread make no sense. so if multilpe loop objects they wont be contained in a single app object and then deleted like this. 2. the app object is not really sharable in this design so it cant be accessed from other threads 3. it makes it harder to get the main loop or app object (well 2 func calls one calling the other and more typing. it is longer to type and more work where it is not necessary, and again it can't work from other threads unless we go duplicating efl.app per thread and then what is the point of splittyign out the signal events from efl.loop then?) etc.
2018-02-26efl: create Efl.App class, the parent of Efl.LoopMike Blumenkrantz
2018-01-04eo: make efl_provider_find a @const function.Cedric BAIL
2018-01-02efl loop - rename ecore_main_loop_get to efl_main_loop_getCarsten Haitzler (Rasterman)
ecore_main_loop_get() is really a new "eo api" but it's using our old ecore_* namespace, so move to the new efl namespace.
2017-12-31Fix and simpligy windows behaviour.Andy Williams
Author: Vincent Torri
2017-11-08eo: Rename efl_ref_get to efl_ref_countAndy Williams
2017-09-07eio: Fix eio model children count in initialization of children modelFelipe Magno de Almeida
2016-12-16eio: check error case for eina_value_get.Cedric BAIL
CID 1356609
2016-10-28eio model: remove useless efreet_mime_type_get callVitor Sousa
2016-10-25eio: fetch mime type asynchronously.Cedric Bail
2016-10-06eio_model: Provide main loop even without parentJean-Philippe Andre
An eio model (and I believe most other models as well, in fact) require a Efl.Loop.User as parent in order for efl future/promises to work. This adds a fallback code directly inside eio model. The alternative was to parent and efl_del all models in fileselector. See T4686
2016-09-29efl: Update Efl.Model to use new Efl_Promise and Efl_FutureFelipe Magno de Almeida
Replaced all Eina_Promise_Owner and Eina_Promise with Efl_Promise and Efl_Future.
2016-09-23eio model: use empty mime type when efreet is unable to determine itVitor Sousa
FIX T4502 @fix
2016-09-05Rename efl_self to efl_addedTom Hacohen
It has been discussed on the ML (thread: "[RFC] rename efl_self") and IRC, and has been decided we should rename it to this in order to avoid confusion with the already established meaning of self which is very similar to what we were using it for, but didn't have complete overlap. Kudos to Marcel Hollerbach for initiating the discussion and fighting for it until he convinced a significant mass. :) This commit breaks API, and depending on compiler potentially ABI. @feature
2016-08-30efl callbacks: update some events calls to no longer trigger legacy callbacksdevs/vitorsousa/update_event_callsVitor Sousa
2016-08-26Efl Object: remove legacy callback calls from event_callback_callVitor Sousa
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-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
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-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-07-08eio model - fix leak found by coverityCarsten Haitzler (Rasterman)
fix CID 1355012
2016-06-16efl: Move promise parameter to return in data modelFelipe Magno de Almeida
Summary: Instead of: efl_model_property_get("name", &promise); now: promise = efl_model_property_get("name"); Reviewers: stefan_schmidt, cedric Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D4038
2016-06-14eio: Fixed Eio_Model monitor life cycleLarry Jr
2016-06-10eio: fixed Eina_Value_Type in model property mtimeLarry Jr
2016-06-09eina: Remove value type promisesLauro Moura
All values in promises are now considered as by-pointer.
2016-06-06eio: remove eio_model that should already be part of Eio.h.Cedric BAIL