This will enable inheriting class to not have to implement as much code. This patch
fix also all class that use Efl.Model_Composite and its test.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7654
Summary:
there is no user, additionally, there is undefined API on this object,
thus make it abstract. This resolves the missing APIs of efl_model_loop.
ref T5719
Depends on D7790
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T5719
Differential Revision: https://phab.enlightenment.org/D7791
Summary:
If you don't set the interval during construction, construction fails
so there's no chance to set it later.
We either change that behavior (is it really needed? can't we just set some
default during construction and override it later?) or properly mark this
property as a construction-time property with this patch.
Test Plan: Nothing changes, this will only have effect once bindings start using it.
Reviewers: cedric, zmike, bu5hm4n, q66
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7691
Summary:
It is a mixin only because of the setter method for the "closed" property,
otherwise, it would be a pure interface.
Nobody is setting that property, so let's just remove the setter (leaving only
the getter) and make this class an interface.
This should clear the scenario for languages currently having issues with
mixins (like C#).
Related to T7601.
Test Plan: Nothing changes. Make check and examples still work.
Reviewers: zmike, bu5hm4n, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7570
this event is called on the app object when all windows have been destroyed
so that the app can decide to take further action, e.g., doing a deep clean of
cache or flushing configuration
@feature
ref T5494
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7593
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
This serie of patch didn't address the core problem in the design of the
ownership of eina_promise_data_{set/get} usage. It is also redundant with
other infrastructure in eina_promise and so not necessary completely.
This reverts commit de2ec0559b.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7573
There is no point in having the object instancable. However, in order to
support bindings, we need to ensure that every abstract does have only
abstracts as inherit-parents, thus making this class abstract.
ref T7240
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7599
Summary:
this makes efl_task abstract which ensures that it cannot be
instanciated. Further more, functions that needs to be implement are now
pure_virtual.
ref T7514
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: segfaultxavi, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7514
Differential Revision: https://phab.enlightenment.org/D7508
Summary: this patch modify ecore_thread_wait documentation to use it only main llop explicitly.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7225
they are so slowly caught by two reasons:
- .eo.c files are defining weak symbols, so no warnings when a symbol is
missing
- The APIs of the missing files are not tested, nor in examples in tree,
so not build and not discovered
This allow for simplifying the code that doesn't need to handle get/set/free
callback when not needed.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7489
With the advancement of our MVVM interfaces, we realize that it could be made easier,
especially for bindings, to write an Efl.Model that proxy another one without having to
necessarily implement the entire logic of propagating event and checking if the property
we are getting request for is actually handle by our own Efl.Model. To simplify this,
I introduce this class that allow to set new callback for each property you want to handle
on your object.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7487
In case the model being set has already gotten some event callback
set on it, to avoid strange behavior, like event not propagating,
it seems best to make sure the event are forwarded first.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7483
After the loop_promise_new changes. Also fix unused var warning.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7531
commit 9b5155c9f1 brought about crashes
- specifically that i saw in terminology because it actually uses
eina_promise_data_set() and the new efl_loop_promise_new basically
took over ownership of that data, but if anyone used
eina_promise_data_set() the data ptr used by this new code would bwe
overwritten, causing segfauls when terminology loses selection
ownership. for days i had mysterious crashes of terminology until i
narrowed it down to the above, so if you have too, then this will fix
it.
what this does is create a data set intercept function callback that
for now is only for use inside efl to everride data sets so they set
data inside the new struct that tracks data. i also had to add and
intercept for eina_promise_data_free_cb_set() as this in theory could
also ber a similar problem.
so perhaps the idea/design of efl_loop_promise_new() is not right and
this kind of thgn has to be internal to eina promise... this means
eina promise and loops are much more tied together.
there are the 3 files in ecore. However, they have not been tested,
there are additionally no examples at all, which did not bring up the
missing API calls, now they are here.
Note: they are compiling, however, it seems that it is not working right
now.
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.
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
This build was never complete and also was not maintained probebly.
It is also dropped in favour of meson which is cool, merged, works & is fast.
Differential Revision: https://phab.enlightenment.org/D7010
This brings in the possibility to receive the app object from bindings.
With the app object you can listen to pause / args / terminate / resume
events.
fix T7509
Differential Revision: https://phab.enlightenment.org/D7480
Summary:
In the case when you have multiple future in flight related to one object, you
couldn't use the previous version of efl_future_then. Now all function calls
take a void* pointer that allow multiple future to have their private data
request data accessible in all the callback.
This should not break released API as Eo.h is not released yet and so
was efl_future_Eina_FutureXXX_then.
Depends on D7332
Reviewers: felipealmeida, segfaultxavi, vitor.sousa, SanghyeonLee, bu5hm4n
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7472
Differential Revision: https://phab.enlightenment.org/D7379
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/D7341
This make all object that inherit from Efl.Loop_Consumer have an easy ability to create a future
from their link to a loop provider. This way there is no need to further lookup for a scheduler.
This can by applied after the patch series from T7471.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7337
Fix bugs on Views and Model related with null items and proper ownership and
life-cycle of components.
Configure default theme for default factory on finalize.