Yakov Goldberg
ed8301b8bf
eo: fix doxygen description, which is needed for parser
2013-10-14 18:12:28 +03:00
Jérémy Zurcher
59a73bdcad
eo: enable doc generation
2013-10-13 00:00:13 +02:00
Jérémy Zurcher
1648b67c5b
eo: add EO_CLASS_CLASS
...
it's an empty class without operations,
used as a return value for eo_class_get() when the caller is a class
2013-10-13 00:00:13 +02:00
Carsten Haitzler
69e27abdc3
eina - and e3fl in general - stop using eina_error_get/set - useless really
2013-10-11 16:50:40 +09:00
Cedric Bail
435caae51a
eo: use Eina_Spinlock instead of Eina_Lock.
...
This is an ABI/API break for Eo, you will need to rebuild everything that use Eo.
2013-10-11 11:08:17 +09:00
Tom Hacohen
baf0fc4268
Eo: Don't compare desc to NULL as it can never be NULL at that stage.
...
Fixes coverity CID1039420.
2013-09-30 14:32:47 +01:00
Tom Hacohen
104a57b58a
Eo callbacks: Fix a possible issue of corrupted callback list.
...
This happens when we delete more than one callback at the beginning
of the list (i.e 2 or more) in one go.
2013-09-30 14:16:46 +01:00
Tom Hacohen
f5d4a807c8
Eo: Don't write to pointer after free.
...
Fixes coverity: CID 1039898.
2013-09-30 14:15:37 +01:00
Tom Hacohen
42d29b55e5
Eo: don't va_start without a matching va_end.
...
Fixes coverity CID1099707.
2013-09-30 14:10:21 +01:00
Tom Hacohen
8ca320a1fc
Eo: don't va_start without a matching va_end.
...
Fixes coverity CID1099708.
2013-09-30 14:07:20 +01:00
Daniel Zaoui
334ac705f3
Eo: fix when detaching the composite of its parent ... that has to exist
2013-09-29 08:50:32 +03:00
Tom Hacohen
cb92a60a61
Eo: merge _eo_obj_dov_internal and _eo_class_dov_internal.
...
They are the same except for really minor differences.
2013-09-27 17:21:08 +01:00
Tom Hacohen
e6886e05b1
Eo: get rid of eo_class_do(_super) which we don't need anymore.
...
We now completely use eo_do(_super), so those are not needed.
2013-09-27 17:01:51 +01:00
Tom Hacohen
7ed7d7da8b
Eo: class_get on a class should not return itself.
...
This is there until we create a Class class of which all classes are
instances.
2013-09-27 16:50:34 +01:00
Tom Hacohen
832fc5b5ce
Manually revert "eo: replace Eo_Class with Eo"
...
This reverts commit ee1b0833ed
I did it manually because the code changed too much.
We actually want this type, it makes things more clear and easier to
understand.
2013-09-27 16:40:32 +01:00
Tom Hacohen
ba5af54f6d
Eo: Fixed the type _eo_id_get accepts.
2013-09-27 14:01:47 +01:00
Tom Hacohen
e3cb9195c2
Eo: Explicitly include Eina.h in eo_private.h.
...
It's uses eina stuff, we can't just assume eina is already included.
2013-09-27 14:01:47 +01:00
Tom Hacohen
01effff86f
Eo: Get rid of the _Eo type, it's not needed.
...
We have Eo_Base for that.
2013-09-27 14:01:47 +01:00
Tom Hacohen
c64637e500
Eo: Use __FILE__ and __LINE__ instead of random values.
2013-09-27 14:01:47 +01:00
Tom Hacohen
1059f802bf
Eo: Rename Eo_Header to Eo_Base.
2013-09-27 14:01:47 +01:00
Tom Hacohen
828928601e
Eo: Added an Eo_Class type just for compat. Should be removed.
2013-09-27 14:01:47 +01:00
Tom Hacohen
e17e66db8c
Eo: Get rid of handle. Use the shared header for detection.
2013-09-27 14:01:47 +01:00
Tom Hacohen
5e90d51013
Eo: Merge common part of class and object.
...
First step toward getting rid of "handle".
2013-09-27 14:01:47 +01:00
Tom Hacohen
8dbbc16731
Eo: Class_Id and Object_Id are now the same type.
2013-09-27 14:01:47 +01:00
Tom Hacohen
2a82ff95e4
Eo: unify the class func and normal func prototypes.
...
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:47 +01:00
Tom Hacohen
298527191e
Eo: Fixed unused warnings when have EO_ID.
2013-09-27 14:01:47 +01:00
Jérémy Zurcher
9fa35820ca
eo: ojb_ref -> class_ref
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
f4c1bff0f3
eo: eo_do_super_internal() supports objects and classes
...
eo_class_do_super() macro calls eo_do_super()
eo_class_do_super_internal() and _eo_class_op_internal() are removed
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
c4b40aae0d
eo: eo_class_get() supports objects and classes
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
8855024e16
eo: eo_class_name_get() supports objects and classes
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
ef62885c93
eo: eo_vdo_internal() supports objects and classes
...
Conflicts:
src/lib/eo/Eo.h
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
12bfc76483
eo: eo_do_internal() supports objects and classes
...
eo_class_do() macro calls eo_do()
eo_class_do_internal() is removed
op_type argument is remove from eo_do, eo_vdo_internal
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
c24775c58d
eo: add union _Eo to unify objects and classes internal pointers
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
f43287a261
eo: add _eo_is_a_class(const Eo *obj_id)
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
41bd91379e
eo: _Eo -> _Eo_Object
...
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
ee1b0833ed
eo: replace Eo_Class with Eo
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
a246e581a6
eo: if HAVE_EO_ID use MBS to tag Eo_Id
...
a bit is taken from generation bits to tag objects references so that we
know if a Eo* is a class or an object
2013-09-27 14:01:46 +01:00
Jérémy Zurcher
5913f78b4f
eo: if !HAVE_EO_ID front-pad _Eo_Class and _Eo_Object with _Eo_Handle
...
this is the first step on the road to remove class specific EAPI from Eo.h
using this handle we will know if a Eo* is a class or an object pointer
Conflicts:
src/lib/eo/eo.c
2013-09-27 14:01:46 +01:00
Tom Hacohen
1845ffe5b0
Eo: remove the classe's EINA_MAGIC when using eo_id.
2013-09-26 16:26:55 +01:00
Cedric Bail
936a8072f2
eo: make eo_parent_get/set part of eo_base_class.
2013-09-25 13:34:18 +09:00
Jérémy Zurcher
3ea1f7ae7c
eo: rename _Eo_Internal -> _Eo_Object
2013-09-24 14:53:49 +01:00
Jérémy Zurcher
dc63739a9d
eo: typedef uintptr_t Eo_Id; as Eo_Class_Id
2013-09-24 14:53:05 +01:00
Jérémy Zurcher
2041e995fc
eo: fix EO_DEBUG compilation
2013-09-23 11:07:07 +02:00
Jérémy Zurcher
027548011c
eo_ptr_indirection.x: fix _eo_id_release when !HAVE_EO_ID
2013-09-18 17:12:15 +02:00
Cedric Bail
7f23deb723
eo: fix typo.
2013-09-13 16:46:08 +09:00
Cedric Bail
cd77853222
eo: add eo_childrens_iterator_new().
...
The goal would be to replace the smart children list and friends. The
problem is that they differ in content. Smart children and Eo children are
the same, but Elm children and them differ. If I put this function as a
virtual, it would be possible to override the list of children and if we
start using it in Evas render loop, that could result in "weird" behavior.
I have added the use of a simplified Eina_Trash mempool kind of feature
to have some fast path for allocation if we start using it in Evas render
loop.
2013-09-11 16:08:06 +09:00
Cedric Bail
5290befb53
eo: add a small object cache to make memory recycling faster.
2013-09-11 11:23:50 +09:00
Tom Hacohen
77cf31d322
Eo: Set (again, got removed) deleted eo objects' magic.
...
The French tried to sneak a bug in, they failed.
Bug was introduced in 337fac0e73
.
2013-09-10 15:57:34 +01:00
Jérémy Zurcher
5afa29af59
eo: slight speed up
2013-08-09 16:03:09 +02:00
Ryuan Choi
2692234b60
Moved brace of extern "C" to fix build break in c++ applications
2013-07-28 20:38:34 +09:00