Commit Graph

25434 Commits

Author SHA1 Message Date
Jérémy Zurcher 2d5baec80c eo2: call _eo2_class_funcs_set from _eo_class_constructor 2014-04-10 04:20:16 +01:00
Tom Hacohen 8307ed5aa8 eo2: cleaned up EO2_CLASS_DESCRIPTION_OPS and OP_DESC_SIZE (renamed). 2014-04-10 04:20:16 +01:00
Tom Hacohen 56f48ac817 eo2: fixed dbg_info_get function to accept the correct number of params. 2014-04-10 04:20:16 +01:00
Tom Hacohen 3ae5b846f7 eo2: cleaned up eo2_do macros.
cleaned up the cleanup attribute usage.
don't use objid more than once (it's a macro).
2014-04-10 04:20:16 +01:00
Jérémy Zurcher 329d752c59 eo2: do not call eo2_do_end() if eo2_do_start() fail 2014-04-10 04:20:16 +01:00
Jérémy Zurcher b6991985ed eo2: eo2_do() uses __attribute__ cleanup
to protect us against bad use of break, goto, return ... in eo2_do,
we use __attribute__((cleanup(eo2_do_end))) to ensure that eo2_do_end()
is called whatever.
2014-04-10 04:20:16 +01:00
Jérémy Zurcher adc1ac0c23 eo2: add eo2_call_stack_depth 2014-04-10 04:20:16 +01:00
Jérémy Zurcher eeff3e898c eo2: EO2_CALL_STACK_SIZE -> EO2_CALL_STACK_DEPTH 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 1aa3b1536f eo2: add virtual func support 2014-04-10 04:20:16 +01:00
Tom Hacohen ca5221e0f9 eo2: compile eo2_base_class when compiling libeo. 2014-04-10 04:20:16 +01:00
Tom Hacohen ec1e507465 eo2: explicitly put void as the arguments in a zero argument function (macro). 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 13b1d03def eo2: _eo2_api_desc_get() searches the class hierarchy 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 5febcc9ff1 eo2: oops, forgot to init desc to NULL in eo2_api_op_id_get() 2014-04-10 04:20:16 +01:00
Jérémy Zurcher d61a31a645 eo2: can't detect return in a eo2_do macro, *sigh* 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 21b31a2f97 eo2: eo2_base_class uses eo2 stuff only, I hope 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 9c4731f606 eo2: eo2_api_op_id_get search in parent klasses too 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 1d9d0cee9c eo2: EO2_OP_FUNC_OVERRIDE copy doc from overriden func 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 2edd305507 eo2: set eo2_constructor and eo2_destructor chaining 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 7621758c80 eo2: use EO2_VERSION 2014-04-10 04:20:16 +01:00
Jérémy Zurcher c17a30dfb9 eo2: add cur_klass in call Stack and eo2_do_super
in eo2_do_start(), reuse previous stack fetched pointers when possible
2014-04-10 04:20:16 +01:00
Jérémy Zurcher 68fb3d4c03 eo2: improve func overriding
add klass_id parameter to eo2_get_op_id()
in op descriptions, allow NULL fct pointer for virtual,
and use EO2_OP_OVERRIDE to declare overriding.
2014-04-10 04:20:16 +01:00
Jérémy Zurcher 58cb65b895 eo2: eo2_base_class, one step further 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 8b6b9532c5 eo2: Eo.h swallows eo2_base_class.h 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 6a16edc888 eo2: call stack Proof Of Concept
no grow/shrink or thread local storage
2014-04-10 04:20:16 +01:00
Jérémy Zurcher a645076979 eo2: eo2_base_class on it's way 2014-04-10 04:20:16 +01:00
Jérémy Zurcher 2490a1bef2 eo2: better op_descs integration
struct _Eo_Class_Description swallows
Eo2_Op_Description *descs2;
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 8ef9e1c00d eo2: use EO2 instead of EO in macro names 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 6bb29b378b eo2: add EO_FUNC_BODY_VOID and EO_FUNC_BODY_VOIDV macros 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 48c2c1dfba eo2: rename func parameter into _func_ 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 3295c8faaa eo2: add macros to feed op_descs 2014-04-10 04:20:15 +01:00
Jérémy Zurcher f05f51dd60 eo2: _Eo_Class_Description swallows op_descs
remove OpDescs argument from macros,
eo2_get_op_id() uses binary search
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 41aff7524d eo2: clear _obj_ ptr at the end of eo2_do 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 731f8e1dea eo2: add optional macros eo2_call[v] 2014-04-10 04:20:15 +01:00
Jérémy Zurcher bc6019c154 eo2: add comments end clean up 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 23ae1fc453 eo2: use internal unref, break if eo2_start returns NULL 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 473609e1d3 eo2: eliminate the need of OPID and Eo_Op_Func_Description
at class elaboration, sort the op descriptions using the function pointer.
when calling a function, do a dichotomic search in the
class op descriptions to find the corresponding OP_ID,
then keep it in a static variable.
2014-04-10 04:20:15 +01:00
Cedric Bail d0153fabc1 eo2: make macro pass C++ compiler. 2014-04-10 04:20:15 +01:00
Jérémy Zurcher ef873b7b29 eo2: fix obj_data retrieval and speed up
obj_data which is built from func->src not obj->klass.
replace eo2_func_get() and eo2_data_scope_get() calls
with one call to eo2_call_resolve().
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 73f1d2a09e eo2: add macros for functions with no argument 2014-04-10 04:20:15 +01:00
Tom Hacohen 9e042c0686 eo2: pass the object id and data to function call 2014-04-10 04:20:15 +01:00
Jérémy Zurcher 71341334a9 eo2: add eo2_data_scope_get()
use it in function body
2014-04-10 04:20:15 +01:00
Jérémy Zurcher bfa48634cf eo2: EO_FUNC -> EO_FUNC_BODY
use macro to build the function body,
   the function prototype is a regular one
2014-04-10 04:20:15 +01:00
Jérémy Zurcher 787cffd3f9 eo2: macro eo_o => eo2_o for clarity 2014-04-10 04:20:15 +01:00
Tom Hacohen 2e3ad3be10 eo2: fix wrong eo2_do macro as reported by Jeremy. 2014-04-10 04:20:15 +01:00
Tom Hacohen 35856fdd13 eo2: Eo2 first commit. 2014-04-10 04:20:15 +01:00
Daniel Zaoui 87776ff0fa Eolian: add support for functions scope.
This patch adds support for protected functions.

In the .eo file, the scope (public by default) has to be added before
the function name e.g:
protected foo ...

To access the protected APIs, #define (CLASS)_PROTECTED is needed e.g:
 #define ELM_BUTTON_PROTECTED
2014-04-10 05:55:16 +03:00
Daniel Zaoui bbba6a20b4 Eolian: generation of Eo2.
The generation of Eo2 can be enabled by defining EO flag in
common_funcs.h.
2014-04-10 04:20:02 +03:00
Daniel Kolesa eeb53222d0 eina: a highly irritating error in eina_file documentation 2014-04-09 15:48:41 +01:00
Wonguk Jeong 28fd36255b ecore_evas_extn: update plug image object after disconnection
Summary:
plug image object was not cleaned after server disconnection.
specifically, image data was cleaned (NULL), but it was not updated for real on screen

--> set dirty of plug image object

@fix

Test Plan: elementary_test -> open window socket -> open window plug -> close window socket -> plug should be cleaned up

Reviewers: raster, cedric

Reviewed By: raster

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D703
2014-04-09 19:45:30 +09:00
wonguk.jeong 6994f32351 ecore_evas_extn: initialize server handle on server deletion
Summary:
Since plug sends message by using deleted server handle (dangling pointer),
I could see glorious error message as below:

	*** ECORE ERROR: Ecore Magic Check Failed!!!
	*** IN FUNCTION: ecore_con_server_send()
	ERR<842>:ecore lib/ecore/ecore.c:729 _ecore_magic_fail()   Input handle pointer is NULL!
	ERR<842>:ecore lib/ecore/ecore.c:740 _ecore_magic_fail() *** NAUGHTY PROGRAMMER!!!
	*** SPANK SPANK SPANK!!!
	*** Now go fix your code. Tut tut tut!

Therefore, I initialized server handle on server deletion

@fix

Test Plan: create socket -> create plug -> destroy socket -> mouse move on plug area

Reviewers: raster, cedric

Reviewed By: raster

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D701
2014-04-09 19:21:30 +09:00