Commit Graph

77 Commits

Author SHA1 Message Date
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 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 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 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 544a663dd2 Eobj: Fixed inheritance checks and fixed mixin examples accordingly.
SVN revision: 70263
2012-04-17 10:27:37 +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 fc75dd0032 Eobj: eobj_super_do -> eobj_do_super.
SVN revision: 70257
2012-04-17 08:05:03 +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 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 d331ee0001 Eobj: Fixed (and made fast) _eobj_op_id_desc_get.
SVN revision: 70150
2012-04-12 15:27:18 +00:00
Tom Hacohen d5e74719dc Eobj: Improved error reporting.
SVN revision: 70148
2012-04-12 14:58: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