Commit Graph

1816 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri 0d72a87ff6 add missing @since 1.2
SVN revision: 67638
2012-01-31 16:47:36 +00:00
Gustavo Sverzut Barbieri 948ce4b9ec eina_value: add EINA_VALUE_TYPE_MODEL
SVN revision: 67637
2012-01-31 16:45:59 +00:00
Gustavo Sverzut Barbieri 088ab8dd2b eina_model: change the way extensions are done.
Thanks to Tasn review it was noticed that subclasses using "const void *value"
with sub-structure would have to resolve their methods manually, quite bad.

Then the extension will happen with structures inside structures, as
previously used in Evas_Smart_Class. To allow the system to resolve
the methods and keep it, it is now specificed the type_size.

A new function is added to help extensions:
eina_model_type_method_resolve(), together with few helper macros.

To allow Eina_Model_Type to be augmented with more methods without
breaking the ABI, 4 slots are left there. We expect we got it right
from beginning and these will never be used, but we can never be sure
;-)

Last but not least, similar changes were done to Eina_Model_Interface
for consistency matters.




SVN revision: 67635
2012-01-31 15:26:48 +00:00
Tom Hacohen 7dbd7c03e6 Eina test model: Use EINA_VALUE_STRUCT_MEMBER and the new EINA_C_ARRAY_LENGTH.
SVN revision: 67590
2012-01-29 15:38:04 +00:00
Tom Hacohen 92d70212c5 Eina: Added EINA_C_ARRAY_LENGTH.
This macro returns the length of a standard C array.

SVN revision: 67589
2012-01-29 15:38:01 +00:00
Tom Hacohen 73830721ce Eina test model: Get offsets and sizes properly.
Make the tests work on multiple platforms and also let people who read the
code see how to do it properly.

SVN revision: 67584
2012-01-29 12:57:36 +00:00
Vincent Torri 16b49b02f5 Eina: fix previous commit
SVN revision: 67564
2012-01-27 07:52:30 +00:00
Tom Hacohen a45dd94b03 Eina model: fix a memory leak in the model's "to_string" function.
SVN revision: 67551
2012-01-26 16:42:00 +00:00
Vincent Torri fcd0b658cf Eina: fix compilation errors in Eina_RWLock code when building code on Windows > XP
SVN revision: 67545
2012-01-26 07:21:27 +00:00
Gustavo Sverzut Barbieri be80cc08ec bugfix: reset iterator to head before the second lookup.
SVN revision: 67539
2012-01-25 17:06:29 +00:00
Gustavo Sverzut Barbieri 3683b0e719 eina_value_struct_member_value: helper to be used by esql and possibly others.
It is common to already known the member, then no need to query
it. This provides optimized retrieval for people that can manage it.



SVN revision: 67538
2012-01-25 16:58:57 +00:00
Jonas M. Gastal 263d6af353 Small fixes to eina_model documentation.
Patch by: "Jonas M. Gastal" <jgastal@profusion.mobi>



SVN revision: 67535
2012-01-25 13:48:32 +00:00
Tom Hacohen 4bd08d2ca5 Eina model: Fix the example in the docs to compile.
SVN revision: 67534
2012-01-25 12:05:20 +00:00
Gustavo Sverzut Barbieri 73b1d45d15 value got the helper, will be useful in other cases as well.
SVN revision: 67518
2012-01-24 22:56:17 +00:00
Gustavo Sverzut Barbieri 73b595df2f more efficient model properties based on struct.
this is a killer, should be very efficient in memory and speed to
set/get items: instead of a hash of properties, keep them in a C
struct!

The constraint is that properties have fixed types defined at compile
time and cannot be deleted, but this is expected in many cases (ie:
esql rows).




SVN revision: 67517
2012-01-24 22:17:57 +00:00
Gustavo Sverzut Barbieri 19a47340a5 reset log level after it's done testing.
SVN revision: 67516
2012-01-24 22:15:06 +00:00
Vincent Torri 78c73ea97a Eina: fix requirements and a comment message
SVN revision: 67515
2012-01-24 22:05:46 +00:00
Vincent Torri 1f27f0b581 Eina: update alloca() declaration from latest autoconf doc.
SVN revision: 67483
2012-01-24 07:21:33 +00:00
Vincent Torri 0f16de1de6 Eina: Windows version is managed by Evil, now. I'm not sure I have to update ChangeLog.
SVN revision: 67482
2012-01-24 07:08:23 +00:00
Iván Briano e4178ad8e6 dereference pointer before using
SVN revision: 67479
2012-01-23 16:51:02 +00:00
Gustavo Sverzut Barbieri 99b7af6912 beef eina_error tests.
SVN revision: 67461
2012-01-23 00:25:12 +00:00
Gustavo Sverzut Barbieri 4e88371068 fix paths to be relative to project build root.
"make doc" was doing "cd doc" and paths were relative to it, misleading.



SVN revision: 67459
2012-01-22 22:00:07 +00:00
Gustavo Sverzut Barbieri 1cd6f27baa help buildbot and user know where the html files are.
SVN revision: 67454
2012-01-22 18:07:04 +00:00
Gustavo Sverzut Barbieri 422775911b buildbot: new attempt at coverage support.
I've changed a bit the rules, let's see if it works with buildbot
(out-of-tree builds).



SVN revision: 67449
2012-01-22 15:09:51 +00:00
Vincent Torri 7bc418f30f Eina: remove warning when compiling with mingw-w64
SVN revision: 67447
2012-01-22 12:08:06 +00:00
Vincent Torri f4baf62a91 Eina: DOS2UNIX eina_file_win32.c
SVN revision: 67445
2012-01-22 08:57:50 +00:00
Vincent Torri 54b589cfe9 Eina: remove unused variable
SVN revision: 67444
2012-01-22 08:56:13 +00:00
Vincent Torri 37ccabf61c Eina "Fix" printf conversion format on Windows. printf family on Windows is just plain weirdness
SVN revision: 67443
2012-01-22 08:55:02 +00:00
Vincent Torri 2b932abc9c Eina: formatting
eina_file_init() and eina_file_shutdown() are global symbols, not local ones


SVN revision: 67423
2012-01-21 08:23:23 +00:00
Vincent Torri 9f844d5699 Eina: Windows fixes
add eina_file_path_sanitize() which was missing in the windows port
add locks
synchronize a bit with the linux version


SVN revision: 67422
2012-01-21 08:21:32 +00:00
Vincent Torri 92b7c85e37 alphabetical order
SVN revision: 67421
2012-01-21 08:19:46 +00:00
Vincent Torri b2e1adaaa6 Eina: put m4 files in their own subdir
Warning: you must relaunch autogen.sh for these changes to
be taken into account


SVN revision: 67420
2012-01-21 08:02:54 +00:00
Vincent Torri 0b96df92ee Eina: include stdlib.h instead of alloca.h (alloca() is not used while malloc() is)
SVN revision: 67419
2012-01-21 07:44:05 +00:00
Gustavo Sverzut Barbieri adf2dcfed9 eina share log refactor.
Don't print messages from share common, that way we have no way to
know where it happens, moreover the binshare values may lack trailing
'\0'.

Also makes no sense to share the log domain. With separate domains we
can be more selective in what we log/debug.



SVN revision: 67418
2012-01-21 07:21:23 +00:00
Gustavo Sverzut Barbieri 76b62698a2 eina_test_model: better use of check macros.
SVN revision: 67417
2012-01-21 06:26:56 +00:00
Gustavo Sverzut Barbieri 8fb1d6e036 eina_model: fix uninitialized bit
SVN revision: 67416
2012-01-21 06:26:32 +00:00
Gustavo Sverzut Barbieri 22e40d2cf7 matrixsparse: fix pointer after it's freed.
SVN revision: 67415
2012-01-21 05:32:39 +00:00
Gustavo Sverzut Barbieri c4120e4593 ensure trailing \0
SVN revision: 67414
2012-01-21 04:52:27 +00:00
Gustavo Sverzut Barbieri a47da47844 check if file was parsed fine.
SVN revision: 67413
2012-01-21 04:49:54 +00:00
Gustavo Sverzut Barbieri 9be2320053 more safety test checks for file and unicode.
jsut add infra and reduce output noise.


SVN revision: 67412
2012-01-21 04:44:17 +00:00
Gustavo Sverzut Barbieri a3d7c51003 improve counter tests wrt safety.
TODO: parse dump and see if it's valid.


SVN revision: 67411
2012-01-21 04:32:33 +00:00
Gustavo Sverzut Barbieri 8b9fd10c60 install eina_model.h
thanks JihoonKim


SVN revision: 67410
2012-01-21 04:22:18 +00:00
Gustavo Sverzut Barbieri 63a5350974 beef inlist tests wrt safety pointers
SVN revision: 67409
2012-01-21 04:20:32 +00:00
Gustavo Sverzut Barbieri e877d6617d improve magic tests, check output to see if it happened
SVN revision: 67408
2012-01-21 03:59:03 +00:00
Gustavo Sverzut Barbieri cdac7c3864 oops, use the copied va_list.
SVN revision: 67407
2012-01-21 03:57:09 +00:00
Gustavo Sverzut Barbieri 63bae2176c improve log tests.
actually check stuff instead of relying on user to do so, also
produces no output if is correct.



SVN revision: 67406
2012-01-21 03:36:02 +00:00
Gustavo Sverzut Barbieri 7c0357ddeb welcome eina_model.
This is a simple to use generic hierarchical data access. It includes
properties, children, reference counting and notifications (callbacks).

It can be understood in the same lines as GObject or PyObject, but I
believe the best usage is just to provide data models, not generic
Object Oriented Programming in C.

It misses most of documentation, although the important bits are
there. Need help here :-/



SVN revision: 67405
2012-01-21 01:30:09 +00:00
Iván Briano 2283fda5f4 My bad.. the type is referring to something out of the macro
SVN revision: 67404
2012-01-20 20:18:10 +00:00
Iván Briano 3c007c2791 type-o... see what I did there? Yes, I'm an idiot.
SVN revision: 67402
2012-01-20 19:31:32 +00:00
Gustavo Sverzut Barbieri fcc86ae34b eina_unicode: add safety checks.
they are not so expensive and will help detect bugs.

also, safety can be disabled at compile time... if performance is so
critical.



SVN revision: 67393
2012-01-20 13:00:01 +00:00
Gustavo Sverzut Barbieri 829c6f58e4 eina_unicode: fix header inclusion.
library files should ALWAYS include config.h, they should not include
Eina.h using "<Eina.h>" to avoid messing with system's version.

Last but definitely not least: include safety checks BEFORE your local
header, otherwise the macros EINA_ARG_NONNULL() will remove every
check for null pointers! eina_safety_checks.h redefines it to empty so
compiler does not optimize these things.



SVN revision: 67392
2012-01-20 12:52:15 +00:00
Gustavo Sverzut Barbieri f0224e0ecd eina_test_clist: foce usage of local eina, not system.
SVN revision: 67390
2012-01-20 12:44:40 +00:00
Guillaume Friloux 0f2dba299d From: Guillaume Friloux <guillaume.friloux@asp64.com>
Subject: Re: [E-devel] Various patches in eina's doc

update authors in doc patch.



SVN revision: 67369
2012-01-20 02:58:57 +00:00
Cedric BAIL 113348cac9 eina: fix inarray macro.
SVN revision: 67346
2012-01-19 15:13:07 +00:00
Gustavo Sverzut Barbieri 44467fed7a use $(MAKE) instead of make, echo the built doc package.
This removes the annoying:

   make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.

and with the package name I can upload it easily to somewhere else.



SVN revision: 67343
2012-01-19 14:07:35 +00:00
Gustavo Sverzut Barbieri 09f87ff655 docs: remove some warnings and make eina/eet doc more uniform.
SVN revision: 67339
2012-01-19 13:26:40 +00:00
Gustavo Sverzut Barbieri 47198a4132 Oops, forgot to fix some warnings for eina docs out-of-tree generation.
SVN revision: 67336
2012-01-19 12:25:42 +00:00
Gustavo Sverzut Barbieri 5f5fe93a51 doxyen -u + minor changes, let's see if warnings are reduced.
SVN revision: 67335
2012-01-19 12:23:37 +00:00
Vincent Torri 9a76004770 Eina: Fix compilation of eina_semaphore_lock() (Windows port)
Patch by Shinwoo Kim


SVN revision: 67317
2012-01-19 06:33:42 +00:00
Sebastian Dransfeld b2193b6fd3 eina: Add FIXME
SVN revision: 67310
2012-01-19 00:36:20 +00:00
Sebastian Dransfeld 8be657aed8 eina: formatting
SVN revision: 67309
2012-01-19 00:36:05 +00:00
Cedric BAIL 4a853cde86 eina: be able to track and display our memory over head when using malloc.
NOTE: it is worth enabling it and see EINA_LOG_INFO displaying how much memory
we are wasting. Should help tune our memory allocator usage.


SVN revision: 67296
2012-01-18 17:47:05 +00:00
Guillaume Friloux 537bc81acb From: Guillaume Friloux <guillaume.friloux@asp64.com>
Hello again e people, i have play a bit with eina's comments to get
proper namings and fix broken references.



SVN revision: 67289
2012-01-18 04:32:37 +00:00
Carsten Haitzler 46c5dd5329 void impl for eina_lock stuff should return "innocuous" values - ie
pretend things succeed ad on a lockless platform u cant have threads
anyway :)



SVN revision: 67288
2012-01-18 04:27:13 +00:00
Carsten Haitzler 0e9a475092 update all minor versions to 2 (or 6) - and yes. i missed making most
be 1.1 (or 1.5) for the last release. too late. THIS is why i'm sick
and tired of all the bloody separate libs that have to be versiioned
and build and released separately. :( too many places to go fix up per
release.



SVN revision: 67284
2012-01-18 02:32:36 +00:00
Tom Hacohen 3b5505aaaa Eina benchmark: Fixed compilation warnings.
SVN revision: 67230
2012-01-15 11:20:59 +00:00
Tom Hacohen aeef927046 Eina value: Fixed signed and unsigned comparison.
SVN revision: 67227
2012-01-15 10:32:10 +00:00
Tom Hacohen 491f887708 Eina tests: Fixed binbuf test.
SVN revision: 67225
2012-01-15 10:10:05 +00:00
Gustavo Sverzut Barbieri 7f2ad91c9c minor improvements to doc (just to trigger buildbot)
SVN revision: 67223
2012-01-15 04:33:55 +00:00
Gustavo Sverzut Barbieri 95c845dd5d eina_value: remove left overs.
thanks to stefan_schmidt for spotting it.


SVN revision: 67183
2012-01-13 10:12:16 +00:00
Gustavo Sverzut Barbieri 91c925fc54 eina_value: add array of struct test.
works nice :-)


SVN revision: 67159
2012-01-12 23:31:42 +00:00
Gustavo Sverzut Barbieri b1feb2fe8c eina_value: add struct type.
efficient storage with named access, can specify compare, alloc, free
and other operations for even better management.

no changelog/news as this is under eina_value, all new for 1.2 release.



SVN revision: 67155
2012-01-12 22:58:31 +00:00
Gustavo Sverzut Barbieri 32392d38f8 eina_value_blob: nicer convertion from string, array and blob.
SVN revision: 67154
2012-01-12 19:39:16 +00:00
Gustavo Sverzut Barbieri c486211f59 eina_value: simpler and faster code using newer eina_inarray_alloc_at()
SVN revision: 67153
2012-01-12 19:16:46 +00:00
Gustavo Sverzut Barbieri 72d4da0022 eina_inarray: add useful function to open space in array.
no changelog or news as eina_inarray is new and this is already stated
in these files.



SVN revision: 67152
2012-01-12 19:08:26 +00:00
Gustavo Sverzut Barbieri 9d424b133b eina_value: use mempool.
thanks to discomfitor about the tip.



SVN revision: 67151
2012-01-12 18:50:43 +00:00
Gustavo Sverzut Barbieri 90e2259b6f eina_value: improve docs and add blob operations helper.
SVN revision: 67149
2012-01-12 17:45:51 +00:00
Gustavo Sverzut Barbieri 9459b0294d eina_value: improve docs a bit
SVN revision: 67148
2012-01-12 17:35:50 +00:00
Gustavo Sverzut Barbieri 9214ac6015 eina_value: hash now adopts given Eina_Hash.
This should allow users to setup the hash manually, in an efficient
way, then make it an Eina_Value.



SVN revision: 67147
2012-01-12 17:27:53 +00:00
Gustavo Sverzut Barbieri 47b08d1a16 eina_value: list now adopts given Eina_List.
This should allow users to setup the array manually, in an efficient
way, then make it an Eina_Value.


SVN revision: 67146
2012-01-12 17:15:49 +00:00
Gustavo Sverzut Barbieri d5de2617e0 eina_value: array now adopts given Eina_Inarray.
This should allow users to setup the array manually, in an efficient
way, then make it an Eina_Value.



SVN revision: 67145
2012-01-12 17:07:07 +00:00
Gustavo Sverzut Barbieri bf29583354 eina_value: replace non-posix timercmp() with manual comparison.
SVN revision: 67144
2012-01-12 16:48:54 +00:00
Gustavo Sverzut Barbieri 70478893fe eina_value: add missing @since.
SVN revision: 67143
2012-01-12 16:38:53 +00:00
Mike Blumenkrantz b9ec187bb9 fix docs for first half of eina_value: the second half caused me to start drinking heavily
SVN revision: 67112
2012-01-12 03:21:52 +00:00
Gustavo Sverzut Barbieri 113d35f6da eina_value: add blob type.
Nice type that even supports configurable operations such as compare,
free, copy and to_string.

the usual is also supported: provide no ops (operations) and memory
will be left untouched.

nice feature to dump as string :-)



SVN revision: 67109
2012-01-12 03:00:03 +00:00
Gustavo Sverzut Barbieri ed2183c146 missing file.
my bad...


SVN revision: 67108
2012-01-12 02:56:56 +00:00
Gustavo Sverzut Barbieri a125108ebe eina_value: add struct timeval.
may be useful for esskyuehl.



SVN revision: 67106
2012-01-12 01:31:21 +00:00
Gustavo Sverzut Barbieri 3d701ab72f fix C++ compile, add test.
adding a dummy test so we (read: myself ;-)) remember to compile with
c++ and check errors like missing casts.



SVN revision: 67105
2012-01-12 00:24:22 +00:00
Gustavo Sverzut Barbieri 4e74c624d8 eina_value: add hash.
Similar to list and array, but takes string keys instead of position.

It can convert to string, I've added tests for it, but hash algorithm
changes may break the simple comparison I did... and I don't want to
parse the string to be more accurate.



SVN revision: 67103
2012-01-11 23:54:35 +00:00
Gustavo Sverzut Barbieri 0b2ddbd396 eina_value: revert bogus array change, add test.
oops! the list commit changed array back! I blame svn not having "git add -p"
and I have to do it by coping files :-/



SVN revision: 67097
2012-01-11 21:55:48 +00:00
Gustavo Sverzut Barbieri 16c03cc014 eina_value: add list type.
Similar to array, but less efficient as uses list nodes. If possible
values are stored on list->data itself, otherwise they are allocated
and the pointer goes as list->data.



SVN revision: 67096
2012-01-11 21:52:32 +00:00
Gustavo Sverzut Barbieri b7539c2ad0 eina_value: convert array to string using [] for single items as well.
SVN revision: 67095
2012-01-11 21:50:40 +00:00
Gustavo Sverzut Barbieri e8710d035b eina_value: fix error condition handling.
SVN revision: 67094
2012-01-11 21:34:49 +00:00
Gustavo Sverzut Barbieri 5e94a82fab eina_value: optimize detection of basic types.
SVN revision: 67090
2012-01-11 19:46:55 +00:00
Gustavo Sverzut Barbieri 25c6251caa proper include of alloca.h, thanks vtorri for spotting it.
SVN revision: 67084
2012-01-11 14:19:51 +00:00
Gustavo Sverzut Barbieri c502186b3d make bastards happy
SVN revision: 67083
2012-01-11 14:06:07 +00:00
Cedric BAIL ebbf531b63 eina: massiv fix for Eina_Value.
Should be more portable and work with C++.

NOTE: I still see an aliasing break in eina_value_pset, but wasn't
able to figure how to solve it.


SVN revision: 67065
2012-01-11 10:37:13 +00:00
Daniel Juyung Seo 192290dfe9 eina eina_list.h: Refined documentation.
SVN revision: 67041
2012-01-11 06:41:04 +00:00
Gustavo Sverzut Barbieri 7a4e904566 add eina_value.
eina value is a generic value storage, it's quite efficient to space
(16 bytes) and speed (inlines for basic types).

It's basically a structure describing how to manage memory
(Eina_Value_Type), with default implementation for char, short, int,
long, int64_t (and unsigned variants), float, double, stringshare and
string.

If a type 'value_size' is smaller than 8 bytes, it's stored
inline. Otherwise a value is allocated and managed.

Most of the methods are inline, with special handling for char, short,
int... Then no extra calls are made, allowing the compiler to optimize
them.

For array of a single type it is recommend to use Eina_Value_Array, as
it will efficiently store and access members (just a char if subtype
is EINA_VALUE_TYPE_CHAR, etc).

It can copy itself, compare itself. Including arrays.

It would be nice to have something that converts between EET and this.



SVN revision: 67035
2012-01-11 02:20:26 +00:00
Daniel Juyung Seo 37b1cde295 eina: applied eina_array_count_get -> eina_array_count api change.
SVN revision: 67021
2012-01-10 15:34:48 +00:00