Commit Graph

204 Commits

Author SHA1 Message Date
Tom Hacohen aa6048286f Eo: Fix wrong usage of EO_OP_TYPE in eo_do/query*.
Thanks to Yakov for letting me know about it.

SVN revision: 71282
2012-05-21 11:45:34 +00:00
Tom Hacohen bff3911c08 Eo: Added eo_manual_free* funcs.
Patch by Daniel Zaoui.

SVN revision: 71281
2012-05-21 11:45:32 +00:00
Tom Hacohen a028e6d566 Eo: Fix pkg-config cflags.
SVN revision: 71275
2012-05-21 08:58:18 +00:00
Tom Hacohen f9d41588b8 Eo: Added extern "C" for the C++ fellows.
Oops, forgot, thanks to Yakov for letting me know.

SVN revision: 71189
2012-05-17 06:22:50 +00:00
Tom Hacohen 633cba4505 Eo: Fixed error message.
SVN revision: 71125
2012-05-15 15:06:40 +00:00
Tom Hacohen e7376bab0d Eo: Fixed error in docs.
SVN revision: 71122
2012-05-15 14:17:10 +00:00
Tom Hacohen 53da1d619b Eo: Added interface example.
SVN revision: 71121
2012-05-15 14:17:07 +00:00
Tom Hacohen 3ec36334a4 Eo: Added support for event freeze/thaw.
SVN revision: 71120
2012-05-15 14:17:03 +00:00
Tom Hacohen 2cf5e56694 Eo: Added support for class functions.
SVN revision: 71119
2012-05-15 14:16:58 +00:00
Tom Hacohen 90804082c0 Eo: Change mro_itr functions to be more generic.
SVN revision: 71118
2012-05-15 14:16:54 +00:00
Tom Hacohen 0da2123d50 Eo: add a check for future static classes.
SVN revision: 71078
2012-05-14 15:20:46 +00:00
Tom Hacohen 150b057a15 Eo: Added the two events I removed by accident.
SVN revision: 71001
2012-05-14 13:33:26 +00:00
Tom Hacohen 44f3d883d4 Eo: renamed eo_constructor_error_* -> eo_error_*.
This is in preperation of a future change to be able to set errors in
function calls as well, and not just constructors.
Also, I improved the error reporting.

SVN revision: 71000
2012-05-14 11:57:28 +00:00
Tom Hacohen 8599ecd123 Eo: Add missing @def to docs.
SVN revision: 70999
2012-05-14 11:57:25 +00:00
Tom Hacohen 3053d67f81 Eo: Move event callback handling to base class.
SVN revision: 70990
2012-05-14 07:35:19 +00:00
Tom Hacohen e392db30e3 Eo: Removed the object freed event.
SVN revision: 70989
2012-05-14 07:35:14 +00:00
Tom Hacohen 339964fd50 Eo: Added a new magic type to mark already deleted objects.
SVN revision: 70875
2012-05-08 14:22:57 +00:00
Tom Hacohen 4fb518d9a7 Eo: Keep artifical object ref a bit longer.
SVN revision: 70874
2012-05-08 14:22:53 +00:00
Tom Hacohen d8c978f7d4 Eo: rename delete to del.
SVN revision: 70867
2012-05-08 06:56:59 +00:00
Tom Hacohen 5c1aa9fd7d Eo: Flatten func array, so function fetching will always be fast.
SVN revision: 70866
2012-05-08 06:56:57 +00:00
Tom Hacohen 7d669b8b27 Eo: Fix parameter checking of eo_do_super.
SVN revision: 70865
2012-05-08 06:56:55 +00:00
Tom Hacohen 3b0dc78489 Eo: Make eo_parent_get accept const.
SVN revision: 70864
2012-05-08 06:56:50 +00:00
Tom Hacohen 59a132264f Eo: Test getting data from class with no data.
SVN revision: 70816
2012-05-06 14:18:44 +00:00
Tom Hacohen f26251cb4f Eo: Only implement _eo_class_mro_has when in testing mode.
SVN revision: 70799
2012-05-06 12:03:29 +00:00
Tom Hacohen a267989520 Eo: Added an internal _eo_ref/unref implementation.
We don't need to do all the regular checks when called from our code.

SVN revision: 70798
2012-05-06 12:03:26 +00:00
Tom Hacohen 019ba402d0 Eo: Improved the data structure used for func fetching.
Made it 2 levels instead of 1 and made it a lot smaller.

SVN revision: 70797
2012-05-06 12:03:23 +00:00
Tom Hacohen 3754fd077c Eo: Added an internal _eo_data_get implementation.
We don't need to do all the regular checks when called from our code.

SVN revision: 70796
2012-05-06 12:03:21 +00:00
Tom Hacohen 465eb13ce0 Eo: Fixed so versioning.
SVN revision: 70795
2012-05-06 12:03:18 +00:00
Tom Hacohen e1021dc21e Eo: Fixed the tests when building in "release mode".
Our release mode safety checks are less strict, so we have to disable some
of the test cases when testing there.

SVN revision: 70794
2012-05-06 12:03:16 +00:00
Tom Hacohen dba7e09641 Eo: Overhauled the mro-walking mechanism.
A lot faster now.

SVN revision: 70793
2012-05-06 12:03:13 +00:00
Tom Hacohen 8c5644d5f8 Eo: Fixed some issues.
SVN revision: 70792
2012-05-06 12:03:11 +00:00
Tom Hacohen 7faf06dfe2 Eo: Improved error reporting in data_get.
SVN revision: 70791
2012-05-06 12:03:07 +00:00
Tom Hacohen 742f987798 Eo: Added debug-mode check for eo_data_get.
SVN revision: 70625
2012-05-02 13:59:18 +00:00
Tom Hacohen 18eda16fa2 Eobj: Fixed wref bugs and improve it's tests.
SVN revision: 70584
2012-05-01 14:00:14 +00:00
Tom Hacohen e1efeae7a4 Eo: Rename SIG_* to EV_*.
Patch by Yakov Goldberg.

SVN revision: 70581
2012-05-01 13:23:30 +00:00
Tom Hacohen 62bafee059 Eo: Doc improvements.
SVN revision: 70580
2012-05-01 13:23:25 +00:00
Tom Hacohen eba59804c9 Eo: Make wref a c array instead of using event callbacks.
SVN revision: 70578
2012-05-01 12:38:14 +00:00
Tom Hacohen fd2054d821 Eo: Added eo_wref_del_safe.
SVN revision: 70573
2012-05-01 11:25:03 +00:00
Tom Hacohen 474c668038 Eo: Fixed a bug in wref del.
SVN revision: 70572
2012-05-01 11:25:00 +00:00
Tom Hacohen 6d15044bd4 Eo: Changed #EINA_TRUE/FALSE to @C EINA_*.
Removes the doxygen warning, but pretty annoying.

SVN revision: 70571
2012-05-01 10:42:55 +00:00
Tom Hacohen d1d81c4f86 Eobj: Fix issue with the typecheck macro.
It should not use the passed variable more than once.

SVN revision: 70568
2012-05-01 08:07:04 +00:00
Tom Hacohen 816a4ad71d Eobj: Rename to Eo.
Blame cedric.

SVN revision: 70566
2012-05-01 07:40:14 +00:00
Tom Hacohen c3cccdc7ce Eobj: Fix clang's (static analyser) warnings.
SVN revision: 70537
2012-04-29 15:52:37 +00:00
Tom Hacohen f393ebfffe Eobj: change the tests according to the new wref concept.
We should not delete the wref if object is already freed. It's because
of the damn new wref API.

SVN revision: 70438
2012-04-24 12:27:22 +00:00
Tom Hacohen 47161b869c Eobj: Fixed a possible bug with object deletion.
SVN revision: 70437
2012-04-24 12:16:23 +00:00
Tom Hacohen 9d03a70fa2 Eobj: Made weak ref a base class function.
SVN revision: 70436
2012-04-24 12:16:21 +00:00
Tom Hacohen 3cc5c60d17 Eobj: eobj_event_callback_del/_full renames.
eobj_event_callback_del -> eobj_event_callback_del_lazy.
eobj_event_callback_del_full -> eobj_event_callback_del.

Thanks to cedric for the suggestion.

SVN revision: 70435
2012-04-24 12:16:17 +00:00
Tom Hacohen 2c66050b65 Eobj: Changed all the eobj_do macros to lowercase.
code clutter--.

SVN revision: 70432
2012-04-24 08:56:49 +00:00
Tom Hacohen 4e05a6193c Eobj: Added infrastructure for const functions and eobj_query.
SVN revision: 70431
2012-04-24 08:04:14 +00:00
Tom Hacohen b004b4c833 Eobj: Fixed the order of parameters in the weak ref add func.
SVN revision: 70430
2012-04-24 08:04:09 +00:00
Tom Hacohen 331ef4b522 Eobj: Updated weak ref docs.
SVN revision: 70419
2012-04-23 12:47:44 +00:00
Tom Hacohen 31e6682a66 Eobj: Make eobj_weak_ref_add return the obejct being reffed.
Suggested by vtorri.

SVN revision: 70418
2012-04-23 12:32:36 +00:00
Tom Hacohen 5b529c506b Eobj: Added docs to the examples (needed for introspection).
Patch by Yakov Goldberg.

SVN revision: 70417
2012-04-23 12:32:34 +00:00
Tom Hacohen 44e549e812 Eobj: added warnings to eobj_ref's docs.
SVN revision: 70416
2012-04-23 11:51:49 +00:00
Tom Hacohen 5c5fc69bef Eobj: Changed weak-ref to work without allocating a structure.
Thanks to cedric.

SVN revision: 70415
2012-04-23 10:57:04 +00:00
Tom Hacohen 945cf1e9c2 Eobj: Rename _EOBJ_BUILD to EFL_EOBJ_BUILD.
vtorri is right pointing out it is a reserved name.

SVN revision: 70414
2012-04-23 08:26:40 +00:00
Tom Hacohen c599a9090d Eobj: Destruct the object upon deletion, free it when unrefed.
Sorted this out a bit. I believe the current behaviour is better than the
previous one.

SVN revision: 70413
2012-04-23 08:10:12 +00:00
Tom Hacohen f973b12daf Eobj: we don't care about "Still reachable".
It seems that libcheck keeps some reachable data, unfortunate as it makes
it very annoying for us to check for reachable memory in our code, but
letting valgrind report about it is just too damn annoying.

SVN revision: 70412
2012-04-23 08:10:09 +00:00
Tom Hacohen a1ed819ea2 Eobj: Use EINA_SAFETY when needed.
Also added a couple of EINA_UNLIKELY.

SVN revision: 70411
2012-04-23 08:10:06 +00:00
Tom Hacohen 8875c23a6c Eobj: Added eina magic to API functions.
SVN revision: 70410
2012-04-23 08:10:04 +00:00
Tom Hacohen e8348bf802 Eobj: Fixed windows support.
DAMN, Windows is broken...
Thanks to vtorri.

SVN revision: 70409
2012-04-23 08:10:00 +00:00
Tom Hacohen b5a1df1270 Eobj: Added EOBJ_CALLBACK_STOP/CONTINUE macros.
SVN revision: 70408
2012-04-23 08:09:58 +00:00
Tom Hacohen e0f6adbea6 Eobj: Add a convenience macro for defining the class_get functions.
This macro makes the code a tad simpler, but more importantly, makes it
easier for us to be thread safe, or more corrctly, easier for us the
make user code thread safe.

SVN revision: 70407
2012-04-23 08:09:54 +00:00
Tom Hacohen 1390200ede Eobj: Fixed issue with FindEina.cmake and things using it.
SVN revision: 70406
2012-04-23 08:09:49 +00:00
Tom Hacohen a5742a341c Eobj: Allocate the data blob at the end of the object.
This replaces the obj->data_blob pointer. Hopefully will be better.

SVN revision: 70405
2012-04-23 08:09:45 +00:00
Tom Hacohen 84a698c972 Eobj: A bit of code cleanup.
SVN revision: 70404
2012-04-23 08:09:42 +00:00
Tom Hacohen b126854a86 Eobj: Added EINA_LIKELY/UNLIKELY to eobj_data_get.
SVN revision: 70403
2012-04-23 08:09:40 +00:00
Tom Hacohen e066c0041c Eobj: Add a couple of funcs_set tests and fixed a bug related.
SVN revision: 70402
2012-04-23 08:09:37 +00:00
Tom Hacohen 95eaccb0cc Eobj: s/__UNUSED__/EINA_UNUSED/ I had no idea that exists.
SVN revision: 70332
2012-04-19 11:30:17 +00:00
Tom Hacohen 9fee446cc1 Eobj: Fixed naming of the internal con/destructor wrapper.
It's a lot less confusing now.

SVN revision: 70331
2012-04-19 11:30:12 +00:00
Tom Hacohen bfe38419bd Eobj: Enforce some interface restrictions.
SVN revision: 70330
2012-04-19 11:30:10 +00:00
Tom Hacohen a59a972f8b Eobj: Change obj of eobj_data_get to be const.
Thanks to Daniel Zaoui for the report.

SVN revision: 70325
2012-04-19 08:56:29 +00:00
Tom Hacohen 11361eae41 Eobj: Added mixin data support.
SVN revision: 70324
2012-04-19 08:52:25 +00:00
Tom Hacohen c2e55db47d Eobj: Added forgotten docs to eobj_xref/xunref.
SVN revision: 70323
2012-04-19 08:52:22 +00:00
Tom Hacohen 965952c3a5 Eobj: Improved tests.
And one cosmetic change.

SVN revision: 70322
2012-04-19 08:52:18 +00:00
Tom Hacohen 5bfbd5f9d1 Eobj: Add checks to ensure consistent method rosulotion order.
SVN revision: 70321
2012-04-19 08:52:15 +00:00
Tom Hacohen 7713059d6d Eobj: Modified the mixin test to test the mixin mro.
SVN revision: 70320
2012-04-19 08:52:11 +00:00
Tom Hacohen 51bf71c131 Eobj: Improved error reporting.
SVN revision: 70288
2012-04-18 07:58:39 +00:00
Tom Hacohen 25ab72e2ee Eobj: Ensure we don't allow calling super functions out of place.
And improved error reporting.

SVN revision: 70287
2012-04-18 07:58:34 +00:00
Tom Hacohen f4fd7944b7 Eobj: Use xref.
SVN revision: 70275
2012-04-17 15:36:41 +00:00
Tom Hacohen ff0482180f Eobj: Add a mixin inheritance test.
SVN revision: 70274
2012-04-17 15:22:27 +00:00
Tom Hacohen d6146c132e Eobj: Add named (by obj ptr) ref - xref.
SVN revision: 70273
2012-04-17 15:22:22 +00:00
Tom Hacohen 69afa9d2ad Eobj: EOBJ_CLASS_BASE -> EOBJ_BASE_CLASS.
SVN revision: 70272
2012-04-17 14:01:09 +00:00
Tom Hacohen ec413015da Eobj: Doxygen - moved EOBJ_EV_* to be under EOBJ_BASE_CLASS.
SVN revision: 70271
2012-04-17 14:01:03 +00:00
Tom Hacohen 294c932c9e Eobj: Added EOBJ_BASE_DATA free function tests.
SVN revision: 70270
2012-04-17 14:00:56 +00:00
Tom Hacohen 856cf05f5c Eobj: Added weak ref.
SVN revision: 70269
2012-04-17 13:38:41 +00:00
Tom Hacohen 45f75b670a Eobj: Fixed docs.
Thanks to Daniel.

SVN revision: 70268
2012-04-17 12:58:33 +00:00
Tom Hacohen 2764023655 Eobj: eobj_generic_data_*->EOBJ_BASE_DATA_*.
And also split the base class away from eobj.c

SVN revision: 70267
2012-04-17 12:49:53 +00:00
Tom Hacohen bad7533b67 Eobj: Improved tests.
SVN revision: 70264
2012-04-17 10:27:40 +00:00
Tom Hacohen 544a663dd2 Eobj: Fixed inheritance checks and fixed mixin examples accordingly.
SVN revision: 70263
2012-04-17 10:27:37 +00:00
Tom Hacohen ceca1938c4 Eobj: add a "class errors" test.
SVN revision: 70262
2012-04-17 10:27:34 +00:00
Tom Hacohen e787f5aeae Eobj: Improved error reporting.
SVN revision: 70261
2012-04-17 10:27:31 +00:00
Tom Hacohen 3f2c369c26 Eobj: Made eobj_class_new return a const class.
Once a class is created, we are no longer allowed to touch it.

SVN revision: 70260
2012-04-17 10:27:25 +00:00
Tom Hacohen 3d245132cc Eobj: Enforce Op description order.
SVN revision: 70259
2012-04-17 08:05:09 +00:00
Tom Hacohen 519adcf26c Eobj: Add missing op descriptions in examples.
SVN revision: 70258
2012-04-17 08:05:07 +00:00
Tom Hacohen fc75dd0032 Eobj: eobj_super_do -> eobj_do_super.
SVN revision: 70257
2012-04-17 08:05:03 +00:00
Tom Hacohen 154e1b6f1b Eobj: Improved config.h a bit and fixed a pkg-config error.
SVN revision: 70236
2012-04-16 16:02:41 +00:00
Tom Hacohen 7bcda618a2 Eobj: Add pkg-config file and start installing stuff.
SVN revision: 70233
2012-04-16 15:27:32 +00:00
Tom Hacohen 8c40b3de26 Eobj: Small documentation adjustments.
SVN revision: 70232
2012-04-16 15:27:29 +00:00
Tom Hacohen eb6c52240f Eobj: Added event callbacks for Object free/del.
SVN revision: 70231
2012-04-16 14:22:11 +00:00