Commit Graph

264 Commits

Author SHA1 Message Date
Tom Hacohen 52d23bf084 Eo: Slight kls-itr cleanups.
SVN revision: 73530
2012-07-10 14:01:57 +00:00
Tom Hacohen 3018a6a4c4 Eo: Cosmetic changes.
SVN revision: 73529
2012-07-10 14:01:54 +00:00
Tom Hacohen b2adf3424b Eo: Changed the way we construct op ids.
This simplifies the code, and improves the overall speed and memory
consumption.
Be advised that this breaks ABI, recompile your stuff.

SVN revision: 73528
2012-07-10 14:01:45 +00:00
Tom Hacohen 08e6d4912d Eo: added a version field to the class description.
SVN revision: 73494
2012-07-09 09:09:46 +00:00
David Walter Seikel 57ce7d92db Let it build with cmake 2.8.1 and older.
SVN revision: 73087
2012-07-01 06:25:31 +00:00
Tom Hacohen f5a4d9782e Eo: Removed the const op concept.
Too ambiguous to be worth it...

SVN revision: 72914
2012-06-27 03:58:45 +00:00
Tom Hacohen ed8bec5577 Eo: Fixed wrong kls_itr inits and error message prints.
SVN revision: 72913
2012-06-27 03:58:39 +00:00
Tom Hacohen aa4ee17c19 Eo: Added an eo_isa example.
SVN revision: 72793
2012-06-25 09:07:39 +00:00
Tom Hacohen 1a5199d5d3 Eo: Added a simple example.
SVN revision: 72781
2012-06-25 06:52:08 +00:00
Tom Hacohen ab39c0d399 Eo: Fix return value of eo_do_super to depend on error_set.
And added tests to check it.

SVN revision: 72550
2012-06-20 15:56:17 +00:00
Tom Hacohen 54b9313197 Eo: Fixed eo_isa to work with comp objects and fixed eo_data_get's checks.
eo_data_get() now has correct checks again.
eo_isa now correctly handles composite objects, interfaces and etc.

SVN revision: 72123
2012-06-14 10:29:39 +00:00
Tom Hacohen 487f76b994 Eo: Implemented eo_isa(). It checks if an object implements a class.
This works for class/interface/mixins but not for composite objects.

SVN revision: 72083
2012-06-13 11:39:12 +00:00
Tom Hacohen 3eb70c2b57 Eo: Save both mixins and interfaces, not just mixins.
SVN revision: 72082
2012-06-13 11:39:02 +00:00
Tom Hacohen d099b82f9a Eo: Implement handling of eo_do errors and use it.
I'm now using it for constructor errors as well.

SVN revision: 72081
2012-06-13 11:38:56 +00:00
Tom Hacohen c019546d92 Eo: Actually, no reason why to force inheritance from base class.
You'll be using functionality if you don't but you still don't have to.
It's not perfect though, I still need to make it possible in other
places.

SVN revision: 71934
2012-06-11 07:41:11 +00:00
Tom Hacohen bc42fd3c1e Eo: Force classes to inherit from EO_BASE_CLASS.
SVN revision: 71931
2012-06-11 07:35:02 +00:00
Tom Hacohen 1d3b0bf164 Eo examples: evas_obj -> exevas_obj (example evas).
Fix it not to clash anymore with the Evas work.

SVN revision: 71928
2012-06-11 06:34:46 +00:00
Tom Hacohen 59b2545ded Eo: Fix internal code using eo_composite functions.
SVN revision: 71908
2012-06-10 15:02:49 +00:00
Tom Hacohen 76c8673b1d Eo: eo_composite_object_* -> eo_composite_*.
SVN revision: 71907
2012-06-10 15:02:44 +00:00
Tom Hacohen b122dd0dc5 Eo composite: Reordered parameters and improved docs.
SVN revision: 71906
2012-06-10 14:56:20 +00:00
Tom Hacohen 1fabc3a749 Eo: Removed EINA_CONST.
SVN revision: 71905
2012-06-10 14:56:15 +00:00
Tom Hacohen 32fbb7723c Eo: Restructure source tree to be like the rest of the EFL.
SVN revision: 71904
2012-06-10 14:56:06 +00:00
Tom Hacohen 1aef778d98 Eo: Turn evas example back on.
SVN revision: 71903
2012-06-10 14:13:34 +00:00
Tom Hacohen 786c2b749b Eo: Fixed error message.
SVN revision: 71902
2012-06-10 14:13:30 +00:00
Tom Hacohen c612697a4e Eo: move manual_free functions to the right doc group
SVN revision: 71901
2012-06-10 14:05:00 +00:00
Tom Hacohen 402bad0186 Eo: error when calling constructor/destructor out of context.
SVN revision: 71900
2012-06-10 14:04:58 +00:00
Tom Hacohen 9c929ba2ed Eo: Made constructor/destructor regular ops.
This lets us remove some unneeded code and makes everything nicer.

SVN revision: 71899
2012-06-10 14:04:53 +00:00
Tom Hacohen 281b976687 Eo: Removed "type" property from event/op descriptions.
No use for it ATM, will be added if needed."

SVN revision: 71896
2012-06-10 11:37:26 +00:00
Tom Hacohen 33c71f97aa Eo: Improved error reporting with failed constructors.
SVN revision: 71891
2012-06-10 07:53:46 +00:00
Tom Hacohen 9632a6ef4e Eo: Added a check if object is already deleted in eo_unref.
If an object is manually freed it was possible to ref/unref it so it'll
try to call the destructor again.

SVN revision: 71890
2012-06-10 07:53:43 +00:00
Tom Hacohen ce51bb7a58 Eo: Improved error messages. Show op as hex.
SVN revision: 71803
2012-06-07 11:32:21 +00:00
Tom Hacohen 242d324bba Eo: further improved error reporting with bad func_set.
SVN revision: 71802
2012-06-07 11:32:17 +00:00
Tom Hacohen 03ccd0b0bf Eo: Change the op func sentinel to be safer.
SVN revision: 71800
2012-06-07 11:14:38 +00:00
Tom Hacohen c66f8ee33a Eo: Clean up previous commit a bit.
SVN revision: 71799
2012-06-07 11:14:35 +00:00
Tom Hacohen 669177694a Eo: Print an error if we try setting a function for an illegal op.
SVN revision: 71797
2012-06-07 11:03:22 +00:00
Tom Hacohen 4cd64fc85a Eo: Added some hierarchy reference checks.
Check that objects are freed when they should be freed.

SVN revision: 71795
2012-06-07 10:54:17 +00:00
Tom Hacohen 84d2f4c322 Eo: Made composite objects more robust.
Mark on the object itself if it's composited -> faster.
Remove from composite list if reparented.

SVN revision: 71794
2012-06-07 10:54:15 +00:00
Tom Hacohen 626a12f1d4 Eo: Improved docs.
SVN revision: 71793
2012-06-07 10:54:12 +00:00
Tom Hacohen 27d522514d Eo: Removed redundant reparent.
SVN revision: 71792
2012-06-07 10:54:08 +00:00
Tom Hacohen 657aee840e Eo: added back eo_del.
It's needed for proper object hierarchy handling.

SVN revision: 71775
2012-06-07 07:17:45 +00:00
Tom Hacohen e158149868 Eo: don't reparent if it's the same parent.
SVN revision: 71774
2012-06-07 07:17:42 +00:00
Tom Hacohen 0c32fc3e04 Eo: Fixed error message.
SVN revision: 71747
2012-06-06 11:41:56 +00:00
Tom Hacohen 7c7a6dd1fa Eo: Added a phantom ref if we manual free.
This lets us use eo_do and the such on deleted to be manually freed objects.

SVN revision: 71746
2012-06-06 11:41:53 +00:00
Tom Hacohen 1754ca9608 Eo: Check adding/deleting callbacks from within callbacks doesn't crash.
SVN revision: 71745
2012-06-06 11:41:51 +00:00
Tom Hacohen 143e06b209 Eo: Added eo_parent_set.
SVN revision: 71744
2012-06-06 11:41:47 +00:00
Tom Hacohen 827c2f6dd6 Eo: Moved more saftey checks to release mode only.
SVN revision: 71711
2012-06-05 12:05:08 +00:00
Tom Hacohen a2cdb54d6b Eo: renamed the Magic for freed objects and better handle deleted objects.
Now we differentiate between deleted but not freed vs deleted and freed
objects.

SVN revision: 71710
2012-06-05 12:05:06 +00:00
Tom Hacohen 8f1077493f Eo: Rephrased error message.
SVN revision: 71709
2012-06-05 12:05:02 +00:00
Tom Hacohen 8fb40ff92f Eo: Added a flag to know if we have any callbacks to clear.
SVN revision: 71663
2012-06-03 13:33:09 +00:00
Tom Hacohen d07f3da945 Eo: Improved checks in signals example.
SVN revision: 71662
2012-06-03 13:33:04 +00:00
Tom Hacohen a137241395 Eo: print an error when trying to delete a non-existent callback.
SVN revision: 71658
2012-06-03 08:42:18 +00:00
Tom Hacohen b8aa1e41ed Eo: Remove del_lazy.
SVN revision: 71657
2012-06-03 08:42:15 +00:00
Tom Hacohen 0ca79b594c Eo: Added support for static class ids.
SVN revision: 71656
2012-06-03 08:42:12 +00:00
Tom Hacohen f4d0a797ec Eo: remove eo_del.
Useless for us, was only added to be like evas, but we don't need it
anymore.

SVN revision: 71655
2012-06-03 08:42:08 +00:00
Tom Hacohen 5600b332a4 Eo: Fix the test suite to run with CK_FORK=no.
Make it possible to do it, and make it default.
And remove the now useless valgrind option (we want to see still
      reachable now that libcheck works).

SVN revision: 71316
2012-05-22 11:13:15 +00:00
Tom Hacohen d618f543c5 Eo: Fixed memory leaks in the tests.
SVN revision: 71289
2012-05-21 15:18:54 +00:00
Tom Hacohen c41ffc3970 Eo: Fix illegal memcpy.
We should not try to copy ourselves to ourselves. :)

SVN revision: 71288
2012-05-21 15:18:52 +00:00
Tom Hacohen a4cc0edd4f Eo: Added more magic tests.
SVN revision: 71287
2012-05-21 14:48:38 +00:00
Tom Hacohen b977e11ea6 Eo: Made an hot-path check compile out when not in debug mode.
SVN revision: 71286
2012-05-21 14:48:32 +00:00
Tom Hacohen 665904fa6d Eo: Improve tests of magic values (NULL pointers).
SVN revision: 71283
2012-05-21 11:45:37 +00:00
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