barbieri [Tue, 31 Jan 2012 15:26:48 +0000 (15:26 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67635
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 29 Jan 2012 15:38:04 +0000 (15:38 +0000)]
Eina test model: Use EINA_VALUE_STRUCT_MEMBER and the new EINA_C_ARRAY_LENGTH.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67590
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 29 Jan 2012 15:38:01 +0000 (15:38 +0000)]
Eina: Added EINA_C_ARRAY_LENGTH.
This macro returns the length of a standard C array.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67589
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 29 Jan 2012 12:57:36 +0000 (12:57 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67584
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Fri, 27 Jan 2012 07:52:30 +0000 (07:52 +0000)]
Eina: fix previous commit
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67564
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Thu, 26 Jan 2012 16:42:00 +0000 (16:42 +0000)]
Eina model: fix a memory leak in the model's "to_string" function.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67551
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 26 Jan 2012 07:21:27 +0000 (07:21 +0000)]
Eina: fix compilation errors in Eina_RWLock code when building code on Windows > XP
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67545
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 25 Jan 2012 17:06:29 +0000 (17:06 +0000)]
bugfix: reset iterator to head before the second lookup.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67539
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 25 Jan 2012 16:58:57 +0000 (16:58 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67538
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 25 Jan 2012 13:48:32 +0000 (13:48 +0000)]
Small fixes to eina_model documentation.
Patch by: "Jonas M. Gastal" <jgastal@profusion.mobi>
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67535
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Wed, 25 Jan 2012 12:05:20 +0000 (12:05 +0000)]
Eina model: Fix the example in the docs to compile.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67534
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 24 Jan 2012 22:56:17 +0000 (22:56 +0000)]
value got the helper, will be useful in other cases as well.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67518
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 24 Jan 2012 22:17:57 +0000 (22:17 +0000)]
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).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67517
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 24 Jan 2012 22:15:06 +0000 (22:15 +0000)]
reset log level after it's done testing.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67516
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 24 Jan 2012 22:05:46 +0000 (22:05 +0000)]
Eina: fix requirements and a comment message
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67515
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 24 Jan 2012 07:21:33 +0000 (07:21 +0000)]
Eina: update alloca() declaration from latest autoconf doc.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67483
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Tue, 24 Jan 2012 07:08:23 +0000 (07:08 +0000)]
Eina: Windows version is managed by Evil, now. I'm not sure I have to update ChangeLog.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67482
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
sachiel [Mon, 23 Jan 2012 16:51:02 +0000 (16:51 +0000)]
dereference pointer before using
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67479
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Mon, 23 Jan 2012 00:25:12 +0000 (00:25 +0000)]
beef eina_error tests.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67461
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 22 Jan 2012 22:00:07 +0000 (22:00 +0000)]
fix paths to be relative to project build root.
"make doc" was doing "cd doc" and paths were relative to it, misleading.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67459
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 22 Jan 2012 18:07:04 +0000 (18:07 +0000)]
help buildbot and user know where the html files are.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67454
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 22 Jan 2012 15:09:51 +0000 (15:09 +0000)]
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).
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67449
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 22 Jan 2012 12:08:06 +0000 (12:08 +0000)]
Eina: remove warning when compiling with mingw-w64
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67447
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 22 Jan 2012 08:57:50 +0000 (08:57 +0000)]
Eina: DOS2UNIX eina_file_win32.c
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67445
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 22 Jan 2012 08:56:13 +0000 (08:56 +0000)]
Eina: remove unused variable
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67444
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sun, 22 Jan 2012 08:55:02 +0000 (08:55 +0000)]
Eina "Fix" printf conversion format on Windows. printf family on Windows is just plain weirdness
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67443
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 21 Jan 2012 08:23:23 +0000 (08:23 +0000)]
Eina: formatting
eina_file_init() and eina_file_shutdown() are global symbols, not local ones
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67423
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 21 Jan 2012 08:21:32 +0000 (08:21 +0000)]
Eina: Windows fixes
add eina_file_path_sanitize() which was missing in the windows port
add locks
synchronize a bit with the linux version
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67422
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 21 Jan 2012 08:19:46 +0000 (08:19 +0000)]
alphabetical order
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67421
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 21 Jan 2012 08:02:54 +0000 (08:02 +0000)]
Eina: put m4 files in their own subdir
Warning: you must relaunch autogen.sh for these changes to
be taken into account
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67420
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Sat, 21 Jan 2012 07:44:05 +0000 (07:44 +0000)]
Eina: include stdlib.h instead of alloca.h (alloca() is not used while malloc() is)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67419
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 07:21:23 +0000 (07:21 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67418
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 06:26:56 +0000 (06:26 +0000)]
eina_test_model: better use of check macros.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67417
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 06:26:32 +0000 (06:26 +0000)]
eina_model: fix uninitialized bit
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67416
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 05:32:39 +0000 (05:32 +0000)]
matrixsparse: fix pointer after it's freed.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67415
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 04:52:27 +0000 (04:52 +0000)]
ensure trailing \0
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67414
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 04:49:54 +0000 (04:49 +0000)]
check if file was parsed fine.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67413
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 04:44:17 +0000 (04:44 +0000)]
more safety test checks for file and unicode.
jsut add infra and reduce output noise.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67412
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 04:32:33 +0000 (04:32 +0000)]
improve counter tests wrt safety.
TODO: parse dump and see if it's valid.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67411
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 04:22:18 +0000 (04:22 +0000)]
install eina_model.h
thanks JihoonKim
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67410
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 04:20:32 +0000 (04:20 +0000)]
beef inlist tests wrt safety pointers
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67409
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 03:59:03 +0000 (03:59 +0000)]
improve magic tests, check output to see if it happened
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67408
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 03:57:09 +0000 (03:57 +0000)]
oops, use the copied va_list.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67407
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 03:36:02 +0000 (03:36 +0000)]
improve log tests.
actually check stuff instead of relying on user to do so, also
produces no output if is correct.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67406
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sat, 21 Jan 2012 01:30:09 +0000 (01:30 +0000)]
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 :-/
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67405
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
sachiel [Fri, 20 Jan 2012 20:18:10 +0000 (20:18 +0000)]
My bad.. the type is referring to something out of the macro
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67404
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
sachiel [Fri, 20 Jan 2012 19:31:32 +0000 (19:31 +0000)]
type-o... see what I did there? Yes, I'm an idiot.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67402
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 20 Jan 2012 13:00:01 +0000 (13:00 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67393
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 20 Jan 2012 12:52:15 +0000 (12:52 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67392
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 20 Jan 2012 12:44:40 +0000 (12:44 +0000)]
eina_test_clist: foce usage of local eina, not system.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67390
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Fri, 20 Jan 2012 02:58:57 +0000 (02:58 +0000)]
From: Guillaume Friloux <guillaume.friloux@asp64.com>
Subject: Re: [E-devel] Various patches in eina's doc
update authors in doc patch.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67369
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Thu, 19 Jan 2012 15:13:07 +0000 (15:13 +0000)]
eina: fix inarray macro.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67346
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 19 Jan 2012 14:07:35 +0000 (14:07 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67343
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 19 Jan 2012 13:26:40 +0000 (13:26 +0000)]
docs: remove some warnings and make eina/eet doc more uniform.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67339
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 19 Jan 2012 12:25:42 +0000 (12:25 +0000)]
Oops, forgot to fix some warnings for eina docs out-of-tree generation.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67336
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 19 Jan 2012 12:23:37 +0000 (12:23 +0000)]
doxyen -u + minor changes, let's see if warnings are reduced.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67335
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
caro [Thu, 19 Jan 2012 06:33:42 +0000 (06:33 +0000)]
Eina: Fix compilation of eina_semaphore_lock() (Windows port)
Patch by Shinwoo Kim
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67317
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
englebass [Thu, 19 Jan 2012 00:36:20 +0000 (00:36 +0000)]
eina: Add FIXME
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67310
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
englebass [Thu, 19 Jan 2012 00:36:05 +0000 (00:36 +0000)]
eina: formatting
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67309
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 18 Jan 2012 17:47:05 +0000 (17:47 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67296
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 18 Jan 2012 04:32:37 +0000 (04:32 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67289
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 18 Jan 2012 04:27:13 +0000 (04:27 +0000)]
void impl for eina_lock stuff should return "innocuous" values - ie
pretend things succeed ad on a lockless platform u cant have threads
anyway :)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67288
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
raster [Wed, 18 Jan 2012 02:32:36 +0000 (02:32 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67284
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 15 Jan 2012 11:20:59 +0000 (11:20 +0000)]
Eina benchmark: Fixed compilation warnings.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67230
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 15 Jan 2012 10:32:10 +0000 (10:32 +0000)]
Eina value: Fixed signed and unsigned comparison.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67227
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
tasn [Sun, 15 Jan 2012 10:10:05 +0000 (10:10 +0000)]
Eina tests: Fixed binbuf test.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67225
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Sun, 15 Jan 2012 04:33:55 +0000 (04:33 +0000)]
minor improvements to doc (just to trigger buildbot)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67223
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Fri, 13 Jan 2012 10:12:16 +0000 (10:12 +0000)]
eina_value: remove left overs.
thanks to stefan_schmidt for spotting it.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67183
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 23:31:42 +0000 (23:31 +0000)]
eina_value: add array of struct test.
works nice :-)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67159
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 22:58:31 +0000 (22:58 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67155
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 19:39:16 +0000 (19:39 +0000)]
eina_value_blob: nicer convertion from string, array and blob.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67154
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 19:16:46 +0000 (19:16 +0000)]
eina_value: simpler and faster code using newer eina_inarray_alloc_at()
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67153
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 19:08:26 +0000 (19:08 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67152
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 18:50:43 +0000 (18:50 +0000)]
eina_value: use mempool.
thanks to discomfitor about the tip.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67151
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 17:45:51 +0000 (17:45 +0000)]
eina_value: improve docs and add blob operations helper.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67149
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 17:35:50 +0000 (17:35 +0000)]
eina_value: improve docs a bit
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67148
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 17:27:53 +0000 (17:27 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67147
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 17:15:49 +0000 (17:15 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67146
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 17:07:07 +0000 (17:07 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67145
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 16:48:54 +0000 (16:48 +0000)]
eina_value: replace non-posix timercmp() with manual comparison.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67144
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 16:38:53 +0000 (16:38 +0000)]
eina_value: add missing @since.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67143
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
discomfitor [Thu, 12 Jan 2012 03:21:52 +0000 (03:21 +0000)]
fix docs for first half of eina_value: the second half caused me to start drinking heavily
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67112
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 03:00:03 +0000 (03:00 +0000)]
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 :-)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67109
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 02:56:56 +0000 (02:56 +0000)]
missing file.
my bad...
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67108
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 01:31:21 +0000 (01:31 +0000)]
eina_value: add struct timeval.
may be useful for esskyuehl.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67106
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Thu, 12 Jan 2012 00:24:22 +0000 (00:24 +0000)]
fix C++ compile, add test.
adding a dummy test so we (read: myself ;-)) remember to compile with
c++ and check errors like missing casts.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67105
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 23:54:35 +0000 (23:54 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67103
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 21:55:48 +0000 (21:55 +0000)]
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 :-/
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67097
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 21:52:32 +0000 (21:52 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67096
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 21:50:40 +0000 (21:50 +0000)]
eina_value: convert array to string using [] for single items as well.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67095
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 21:34:49 +0000 (21:34 +0000)]
eina_value: fix error condition handling.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67094
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 19:46:55 +0000 (19:46 +0000)]
eina_value: optimize detection of basic types.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67090
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 14:19:51 +0000 (14:19 +0000)]
proper include of alloca.h, thanks vtorri for spotting it.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67084
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 14:06:07 +0000 (14:06 +0000)]
make bastards happy
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67083
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
cedric [Wed, 11 Jan 2012 10:37:13 +0000 (10:37 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67065
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
seoz [Wed, 11 Jan 2012 06:41:04 +0000 (06:41 +0000)]
eina eina_list.h: Refined documentation.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67041
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Wed, 11 Jan 2012 02:20:26 +0000 (02:20 +0000)]
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.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67035
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
seoz [Tue, 10 Jan 2012 15:34:48 +0000 (15:34 +0000)]
eina: applied eina_array_count_get -> eina_array_count api change.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67021
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Tue, 10 Jan 2012 00:23:24 +0000 (00:23 +0000)]
add missing @since before vtorri notices it
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67005
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
barbieri [Mon, 9 Jan 2012 23:24:18 +0000 (23:24 +0000)]
add eina_inarray.
It is an inline array, that is, the members are actually in the
allocated buffer, as opposed to a pointer to its data.
It can be used to manage array of integers, floats or other structures
without fragmenting memory.
The lookups should be fast as memory is linear, then CPU prefetch can
kick in and bring data to cache before it's used.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@67003
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33