This works in linux and windows, and should fix shm_detection on BSD (including Mac)
BSD, Mac and solaris users : please check that it compiles and shm_open is detected
SVN revision: 69608
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
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
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.
SVN revision: 67003
SVN revision: 63877
Reverted due to the following build failure:
eina_main.c:117:16: error: conflicting types for ‘_eina_tracking_lock’
../../src/include/eina_inline_lock_posix.x:83:29: note: previous declaration of ‘_eina_tracking_lock’ was here
make[3]: *** [libeina_la-eina_main.lo] Error 1
_eina_tracking_lock is used for implementation of Eina_Locks, so cannot be an Eina_Lock
Signed-off-by: Mike McCormack <mj.mccormack@samsung.com>
SVN revision: 63904
use eina_log instead of weirdo printfs... multiple levels, greatness
everywhere... helped me debug emotion's warning.
It is always a pain to try to use library log and notice they are not
using their own standards :-/
export EINA_LOG_LEVELS=eina_prefix:4
SVN revision: 63108
NOTE: the purpose of this API is to replace mmap user in the
EFL, share cache and more code across them. The potential user
are eet, evas, efreet, eio and enlil. More patch are needed for
them to use this infra. Help welcome :-)
NOTE2: this API also need more test and is waiting for some
more pthread infra before being thread safe. But at the end
it will be thread safe if eina thread safety is requested.
SVN revision: 58637
TODO: fix docs (but today, eina doc need some love again)
use iconv and handle encoding (can get entity-to-utf8 from evas)
description of what to do at :
http://marc.info/?l=enlightenment-devel&m=129975452006699&w=3
NOTE: this mean this API is not stable yet and will be broken soon.
SVN revision: 58387
call eina_threads_init() to enable this if you have pthread rwlock support (posix 2001)
note some function prototypes have lost const on array params to allow locking
WARNING: you should NOT call eina_threads_shutdown unless you are positive that you will not use any arrays which were created while threadsafe mode were enabled, and vice versa. Failing to adhere to this warning WILL result in either deadlocks or memory leaks.
SVN revision: 50951
Also modified Eina_Stringshare to share most of the code with the two above.
Added Magics for Eina_UStrbuf as well as for UStringshare/Binshare.
SVN revision: 50533