efl/src/lib/eo
Vitor Sousa a86a0931f1 eo: add events to track the ownership status of an Eo object
Some user code may want to track an object ownership in regard to whether it is
kept by just one owner or shared between many owners.

This is specially true for code provided by bindings to other programming
languages, where different kinds of resource management may take place.

The event `ownership,unique` is triggered whenever the object refcount goes
from two to one, as a signal that it has just one owner from now on.

The event `ownership,shared` is triggered whenever the object refcount goes
from one to two, as a signal that it has multiple owners from now on.
It will not trigger when further increasing the refcount to any value beyond
two.

We also add benchmarks for sharing (i.e. increasing the refcount) and them
unsharing objects, in order to evaluate the performance impact of this patch.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8678
2019-05-29 15:53:23 -07:00
..
Eo.h docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
efl_class.eo docs: Add @since 1.22 to all stable classes' EO docs 2019-03-22 16:57:36 +01:00
efl_object.eo eo: add events to track the ownership status of an Eo object 2019-05-29 15:53:23 -07:00
efl_object_override.eo Mark BETA classes individually 2019-02-14 17:46:50 +01:00
eina_types.eot docs: Add Eina.Value extern to eina_types.eot 2019-03-29 12:35:49 +01:00
eo.c eo: add events to track the ownership status of an Eo object 2019-05-29 15:53:23 -07:00
eo_add_fallback.c mmap memory allocation - do not used when under valgrind 2018-01-12 03:02:43 +09:00
eo_add_fallback.h Eo: Finish the renaming of Eo to the EFL. 2016-08-15 15:07:42 +01:00
eo_base_class.c eo: add events to track the ownership status of an Eo object 2019-05-29 15:53:23 -07:00
eo_class_class.c eo: lets drop efl_interfaces 2019-02-08 10:27:27 +01:00
eo_internal.h eo: Correctly name Realized classes. 2019-04-02 11:02:27 +02:00
eo_private.h eo: add events to track the ownership status of an Eo object 2019-05-29 15:53:23 -07:00
eo_ptr_indirection.c eo: Improve invalid EO ID error message 2017-06-22 13:19:23 +09:00
eo_ptr_indirection.h eo: repair EO_CLASS_POINTER macros 2019-02-06 10:00:57 +01:00
eo_ptr_indirection.x mmap memory allocation - do not used when under valgrind 2018-01-12 03:02:43 +09:00
meson.build build: add a option to disable eo file installation 2019-03-14 12:44:00 -04:00