Commit Graph

264 Commits

Author SHA1 Message Date
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
Tom Hacohen 18258b9002 Eobj: Renamed EOBJ_SIG_CALLBACK_* to EOBJ_EV_CALLBACK_*.
SVN revision: 70230
2012-04-16 14:22:08 +00:00
Tom Hacohen 94efb39c34 Eobj: Added EOBJ_SIG_CALLBACK_ADD/DEL to Eobj's Event desc.
SVN revision: 70229
2012-04-16 14:22:04 +00:00
Tom Hacohen bb25247d46 Eobj: Better grouped docs in doxygen.
SVN revision: 70228
2012-04-16 12:52:28 +00:00
Tom Hacohen 809a7d4e1e Eobj: Initial doxygen commit.
SVN revision: 70227
2012-04-16 12:36:42 +00:00
Tom Hacohen 2374281331 Eobj: Fixed eobj_event_callback_call to return a meaningful value.
SVN revision: 70226
2012-04-16 12:36:37 +00:00
Tom Hacohen 0b35767735 Eobj: EOBJ_OP_FUNC_DESCRIPTION -> EOBJ_OP_FUNC.
The previous name was just too damn long.

SVN revision: 70225
2012-04-16 12:36:34 +00:00
Tom Hacohen 5386de12b8 Eobj: examples/evas/elw_win - fix the class name.
Thanks to Yakov for letting me know.

SVN revision: 70224
2012-04-16 12:36:27 +00:00
Tom Hacohen 03a94f7cb1 Eobj: Evas example - fixed coding convetion.
Approved by Daniel Zaoui.

SVN revision: 70197
2012-04-15 12:12:05 +00:00
Tom Hacohen ad5549c8aa Eobj: Make construct error a bool.
Way faster, and doesn't waste any additional memory.

SVN revision: 70196
2012-04-15 11:57:25 +00:00
Tom Hacohen 41189e408e Eobj: Minor changes in eina log registration.
SVN revision: 70195
2012-04-15 10:18:06 +00:00
Tom Hacohen 36374f49a7 Eobj: Make eobj_event_callback_add a macro.
Thanks to raster for the tip.

SVN revision: 70193
2012-04-15 08:57:20 +00:00
Tom Hacohen f4ad42ffda Eobj: ref/unref inside internal functions.
Thanks to raster for the tip.

SVN revision: 70192
2012-04-15 08:57:17 +00:00
Tom Hacohen 1380c56c28 Eobj: Eobj_Op should be unsigned int, not uintptr_t.
I have no clue why it ever was a uintptr_t...
Thanks to raster for noticing.

SVN revision: 70191
2012-04-15 08:57:14 +00:00
Tom Hacohen 8be32105cb Eobj: Added more function override tests.
SVN revision: 70151
2012-04-12 15:27:22 +00:00
Tom Hacohen d331ee0001 Eobj: Fixed (and made fast) _eobj_op_id_desc_get.
SVN revision: 70150
2012-04-12 15:27:18 +00:00
Tom Hacohen d6affb56f7 Eobj: Improved constructors test.
SVN revision: 70149
2012-04-12 14:59:01 +00:00
Tom Hacohen d5e74719dc Eobj: Improved error reporting.
SVN revision: 70148
2012-04-12 14:58:57 +00:00
Tom Hacohen 739441afeb Eobj: Added some more test scenarios.
SVN revision: 70147
2012-04-12 14:37:57 +00:00
Tom Hacohen de70c853ea Eobj: Fixed a possible inconsistency in constructor error detection.
SVN revision: 70146
2012-04-12 14:37:52 +00:00
Tom Hacohen 697c58026f Eobj: Pass the private data to functions automatically.
This saves us from having to call the data_get function. This makes the
code nicer and potentially faster.

Thanks to raster for the tip.

SVN revision: 70145
2012-04-12 13:52:13 +00:00
Tom Hacohen 0395f7943c Eobj: Improve signals test.
SVN revision: 70144
2012-04-12 12:42:33 +00:00
Tom Hacohen 17527c5307 Eobj: Fixed a bug in event_callback_del.
SVN revision: 70143
2012-04-12 12:42:29 +00:00
Tom Hacohen b02811d7fd Eobj: Cosmetic change + added a FIXME.
SVN revision: 70141
2012-04-12 12:25:34 +00:00
Tom Hacohen 5c53136210 Eobj: Improved output of signals test.
SVN revision: 70140
2012-04-12 12:25:32 +00:00
Tom Hacohen cc4cd4f710 Eobj: Restrict class inheritance a bit.
Don't allow mixing regular with non regular types when inheriting.

SVN revision: 70139
2012-04-12 12:25:29 +00:00
Tom Hacohen 3d11446968 Eobj: Improved some tests a bit more.
SVN revision: 70138
2012-04-12 12:25:26 +00:00
Tom Hacohen ef994b8163 Eobj: Improved tests a bit.
SVN revision: 70137
2012-04-12 11:20:26 +00:00
Tom Hacohen d113debcd2 Eobj: Fixed a bug in composite_object_is
SVN revision: 70136
2012-04-12 11:20:22 +00:00
Tom Hacohen 230de30c3e Eobj: Improved testing a bit.
SVN revision: 70135
2012-04-12 11:20:19 +00:00
Tom Hacohen bef76f0407 Eobj: Added some composite objects tests.
SVN revision: 70134
2012-04-12 10:48:08 +00:00
Tom Hacohen a0ee8a4aa7 Eobj: Revert "Eobj: Only try composite objects when really supposed to."
Was stupid and plain wrong.

This reverts commit 70132.

SVN revision: 70133
2012-04-12 10:23:46 +00:00
Tom Hacohen c92e62b5eb Eobj: Only try composite objects when really supposed to.
SVN revision: 70132
2012-04-12 10:19:50 +00:00
Tom Hacohen f8c89e84a2 Eobj: Composite objects should be attempted last.
SVN revision: 70131
2012-04-12 10:14:58 +00:00
Tom Hacohen 6996e85cd2 Eobj: Added a couple of function_overrides tests.
SVN revision: 70128
2012-04-12 08:27:38 +00:00
Tom Hacohen f4cc28cde9 Eobj: Fixed order of function call.
SVN revision: 70127
2012-04-12 08:27:35 +00:00
Tom Hacohen 69bf58ba95 Eobj: Fixed a potential bug in eobj_super_do.
SVN revision: 70126
2012-04-12 08:27:31 +00:00
Tom Hacohen 369617c161 Eobj: Fixed a potential bug in eobj_super_do.
SVN revision: 70014
2012-04-11 09:04:44 +00:00
Tom Hacohen 43f4caf7b0 Eobj: Removed eobj_class_parent_get. It's useless and discouraged.
SVN revision: 70013
2012-04-11 08:57:12 +00:00
Tom Hacohen 4e91ce84bc Eobj: Only allocate kls_itr when really needed.
SVN revision: 70012
2012-04-11 08:55:20 +00:00
Tom Hacohen fe45f31c02 Eobj: Allow more than one "super" chain per eobj_do.
SVN revision: 70011
2012-04-11 08:55:15 +00:00
Tom Hacohen 995140207f Eobj: Random commit to give credit for the idea of the previous commit.
Previous commit was suggested by Daniel Zaoui.

Sorry for forgetting. :)

SVN revision: 70010
2012-04-11 07:07:05 +00:00
Tom Hacohen 27429380dd Eobj: Improved private data lookups.
No offset array anymore - less memory wasted.
Lookup is *way* faster now.

SVN revision: 70009
2012-04-11 07:05:39 +00:00
Tom Hacohen a41960d689 Eobj: Added eobj_ref_get.
SVN revision: 70008
2012-04-11 07:05:37 +00:00
Tom Hacohen aaf11f7274 Eobj: make the kls_itr a stack.
It's useful for calling functions from within functions.

SVN revision: 70007
2012-04-11 07:05:33 +00:00
Tom Hacohen 4e471e9186 eobj: wrapped all the kls_itr calls into functions.
SVN revision: 70006
2012-04-11 07:05:30 +00:00
Tom Hacohen e1d070a9db Eobj: removed unneeded field.
SVN revision: 70005
2012-04-11 07:05:27 +00:00
Tom Hacohen dadb753a15 eobj: Improve error reporting.
This order of messages is better.

SVN revision: 70004
2012-04-11 07:05:24 +00:00
Tom Hacohen 419145c72a Eobj: Added eobj_super_do instead of class_do.
SVN revision: 70003
2012-04-11 07:05:21 +00:00
Tom Hacohen 9c4b436c69 Eobj: Added an MRO to classes. Walking the classes tree is not enough.
SVN revision: 70002
2012-04-11 07:05:14 +00:00
Tom Hacohen fc75687bc7 Eobj: added default constructor/destructor.
When NULL is passed, the default one is called.

SVN revision: 70001
2012-04-11 07:05:10 +00:00
Tom Hacohen a74871955c Eobj: Removed useless va_end.
Thanks to Daniel Zaoui.

SVN revision: 69993
2012-04-10 09:18:52 +00:00
Tom Hacohen 32f6c31ed1 eobj: A couple of other cosmetic changes.
Again, thanks to Vtorri.

SVN revision: 69992
2012-04-10 09:12:49 +00:00
Tom Hacohen fdf72fa795 Eobj: eobj.h -> Eobj.h
Thanks to vtorri.

SVN revision: 69991
2012-04-10 09:12:46 +00:00
Tom Hacohen 4f3f37059c Eobj: Initial commit.
SVN revision: 69932
2012-04-05 15:31:15 +00:00