Commit Graph

25351 Commits

Author SHA1 Message Date
Tom Hacohen d0f71a6e8b eo2: fix eo2_base_class function signatures.
"void func(void)" != "void func()" !
The former is a func that accepts 0 parameters.
The latter is a func that accepts variable number of parameters.

Watch out.
2014-04-10 04:20:19 +01:00
Tom Hacohen 7d79b10bb6 eo2 suite: add an important FIXME. 2014-04-10 04:20:19 +01:00
Tom Hacohen 08b28211b6 eo2: migrated the eo-suite test to eo2. 2014-04-10 04:20:19 +01:00
Tom Hacohen ff64050a7b eo2: fixed eo2_class_class. 2014-04-10 04:20:19 +01:00
Tom Hacohen f38895abed eo2: detach children when object is deleted. 2014-04-10 04:20:19 +01:00
Tom Hacohen a588c7d99e eo2: correctly handle eo2_do(NULL, ...). 2014-04-10 04:20:19 +01:00
Jérémy Zurcher b08ae598a8 eo2: do not restrict search for api in class extensions to some class types 2014-04-10 04:20:19 +01:00
Tom Hacohen 2593cb86c6 eo2: interface test, removed obsolete Eo_Op. 2014-04-10 04:20:19 +01:00
Tom Hacohen f4f62e0f9f eo2: migrated mixin test to eo2. 2014-04-10 04:20:19 +01:00
Tom Hacohen e4f0e4c410 eo2: constructors test, removed obsolete Eo_Op. 2014-04-10 04:20:19 +01:00
Tom Hacohen 13b30abe56 eo2: cleaned up the function overrides test. 2014-04-10 04:20:19 +01:00
Tom Hacohen 3a524e4201 eo2: fix function overrides test. 2014-04-10 04:20:19 +01:00
Jérémy Zurcher ca1f245366 eo2: _eo2_api_desc_get can look into interfaces extensions too 2014-04-10 04:20:19 +01:00
Jérémy Zurcher 541cf25723 eo2: eo2_add_internal_end() return NULL if do_error is set 2014-04-10 04:20:19 +01:00
Jérémy Zurcher 9c1856bf82 eo2: support NULL op_descs 2014-04-10 04:20:19 +01:00
Jérémy Zurcher b8e9b14699 eo2: fix some op descriptions in constructors tests 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 36c5127822 eo2: add EO2_CLASS_DESCRIPTION_NOOPS() macros 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 11595dc40c eo2: fix mixim elaboration
a mixin class must not inherit
- _eo2_api_desc_get()
      accept NULL klass param
      EO_CLASS_TYPE_REGULAR_NO_INSTANT is an acceptable extension class type for
- _eo2_class_funcs_set() do not shout if parent is NULL
2014-04-10 04:20:18 +01:00
Jérémy Zurcher 78973fba6c eo2: fix tests, do not use _CLASS_FUNC_, see previous commit 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 23e2c29298 eo2: remove EO2_CLASS_FUNC_* macros
there is no more difference in class or regular functions prototypes and definitions

- eo2_api_op_id_get() uses _eo_is_a_class() at runtime
- add 'void *class_data EINA_UNUSED' parameter to eo2_base class functions
- Eo2_Op_Call_Data.klass is kept only for eo2_hook_call_pre end eo2_hook_call_post,
  but could be removed easily
2014-04-10 04:20:18 +01:00
Tom Hacohen 9a9fdb46fe eo2 test composite: migrated things I forgot to migrate. 2014-04-10 04:20:18 +01:00
Tom Hacohen b7176a93d3 eo2 base class: fixed regular and class event functions confusion. 2014-04-10 04:20:18 +01:00
Tom Hacohen 18698086b4 eo2: migrated signals test to eo2. 2014-04-10 04:20:18 +01:00
Tom Hacohen 760a74a150 eo2: migrated interface test to eo2. 2014-04-10 04:20:18 +01:00
Tom Hacohen 0ee8b33bf7 eo2: migrated function_overrides test to eo2. 2014-04-10 04:20:18 +01:00
Tom Hacohen f481e8dc64 eo2: fixed EO2_VOID_CLASS_FUNC_BODY function. 2014-04-10 04:20:18 +01:00
Tom Hacohen cbc9a7bd30 eo2: migrated constructors test to eo2. 2014-04-10 04:20:18 +01:00
Tom Hacohen e5c7d666e0 eo2: migrated the composite test to eo2. 2014-04-10 04:20:18 +01:00
Tom Hacohen 5e92ffb121 eo2: improved error messages on failed resolves. 2014-04-10 04:20:18 +01:00
Tom Hacohen 7c0598c930 eo2: access tests makeup 2014-04-10 04:20:18 +01:00
Tom Hacohen bd66dd49f8 eo2: changed Eo class names to be consistent.
All the class names are now of the format: Lib_Type_Subtype_Extra.
2014-04-10 04:20:18 +01:00
Jérémy Zurcher eb01d1c3e8 eo2: add EO2_CLASS_CLASS 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 1614b9d529 eo2: base class op_descs must be static 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 47d560b720 eo2: support composites object
_eo2_api_desc_get() searches extensions classes
eo2_call_resolve() searches composites objects
2014-04-10 04:20:18 +01:00
Jérémy Zurcher 2e9ae2a571 eo2: optimize eo2_call_resolve and call stack 2014-04-10 04:20:18 +01:00
Jérémy Zurcher e51e397b89 eo2: fix eo_base_data_get(), eo_composite_attach(), eo_composite_detach() 2014-04-10 04:20:18 +01:00
Jérémy Zurcher fc448f89af eo2: clean up and speed up call stack usage 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 4bbd97913d eo2: eo2_add_internal_start use trash and fix MAGIC 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 782092f7af eo2: eo2_do() and eo2_do_super() supports objects and classes 2014-04-10 04:20:18 +01:00
Jérémy Zurcher 93f85f095e eo2: rewrite eo2_do_start(...)
we need Eo_Class *cur_klass for eo2_do_super
 be sure not to update stack pointer before we can't fail anymore
2014-04-10 04:20:18 +01:00
Jérémy Zurcher 2be91e465a eo2: change a few variable names
in the EPAI, don't show that Eo* could be IDs.
in the implementation, use klass_id and obj_id
if you know or want it to be a class or an object,
use eo_id in general cases.
2014-04-10 04:20:18 +01:00
Jérémy Zurcher c9ccc700fd eo2: add eo2_parent_set(), eo2_parent_get(), eo2_children_iterator_new()
imported from eo_base_class.c as is in
a7f417e 2013-12-24 23:45:30 +0900 <Carsten Haitzler (Rasterman)>
2014-04-10 04:20:17 +01:00
Jérémy Zurcher d4aad6bfc0 eo2: formatting 2014-04-10 04:20:17 +01:00
Jérémy Zurcher f1e6582052 eo2: import cecd1980, calloc and realloc failure protections 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 796b151c27 eo2: minor fixes after huge rebase
indentation
use _Eo_Object * instead of _Eo *
use EO_CLASS_POINTER_RETURN_VAL(), _eo_id_get(), and _eo_class_id_get().
2014-04-10 04:20:17 +01:00
Jérémy Zurcher 3a86881941 eo2: eo2_do_start use EO_OBJ_POINTER_ macros not _eo_obj_pointer_get 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 74f7bf3633 eo2: eo2_call_resolve_internal support undef HAVE_EO_ID 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 2af0764eeb eo2: _eo2_api_desc_get: walks in mro not in klass->parent 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 94adc97efe eo2: rename eo2 class 'Eo Base'->'Eo2 Base' 2014-04-10 04:20:17 +01:00
Jérémy Zurcher fe23e26d0e eo2: add DBG msg in eo2_class_funcs_set 2014-04-10 04:20:17 +01:00