Commit Graph

25540 Commits

Author SHA1 Message Date
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
Cedric Bail 8613ebe403 eo2: memset will be faster, still why not using NULL instead of -1 ? 2014-04-10 04:20:17 +01:00
Cedric Bail 0b279b600e eo2: we can rely on LD_PRELOAD for those hook, so removing them. 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 7477a51432 eo2: add EO2_HOOK_DO_PREPARE 2014-04-10 04:20:17 +01:00
Cedric Bail 4b97591634 eo2: add hook for beinning and start of all function execution and for all _do.
NOTE: I don't know what the _CLASS_FUNC are, so I may have broken stuff there.
2014-04-10 04:20:17 +01:00
Jérémy Zurcher bbab74320a eo2: fix eo2 custom constructors 2014-04-10 04:20:17 +01:00
Jérémy Zurcher ebc90200a6 eo2: sprinkle with 'const' 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 8959832be4 eo2: fixed EO2_CLASS_FUNC_BODY and etc. functions. 2014-04-10 04:20:17 +01:00
Tom Hacohen 2bd03348e3 eo2: revert "fixed EO2_CLASS_FUNC_BODY and etc. functions."
Still need to change it to get call earlier. Oversight because
of incomplete make files.

This reverts commit 1ea966c3bef7384a91e386477dc07015ed18d33f.
2014-04-10 04:20:17 +01:00
Tom Hacohen 1db137fa8c eo2: fixed EO2_CLASS_FUNC_BODY and etc. functions. 2014-04-10 04:20:17 +01:00
Jérémy Zurcher 4f73887b47 eo2: remove EO2_OP_FUNC_VIRTUAL
a pure virtual function is an EO2_OP_FUNC
with NULL as private function implementation pointer
2014-04-10 04:20:17 +01:00
Tom Hacohen feb5a5dc9e eo2: fix backslash alignment.
This is one of the reasons why I hate backslash alignments, you end up
fixing style when you should be working on code.
2014-04-10 04:20:17 +01:00