Commit Graph

76 Commits

Author SHA1 Message Date
Vincent Torri 92b7c85e37 alphabetical order
SVN revision: 67421
2012-01-21 08:19:46 +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
Gustavo Sverzut Barbieri 45b07ed02d 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.



SVN revision: 67003
2012-01-09 23:24:18 +00:00
Cedric BAIL 1561954c05 eina: improve system header detection.
SVN revision: 65900
2011-12-05 13:57:10 +00:00
Cedric BAIL 0c6ed213ad eina: add eina_xattr.{c,h}.
SVN revision: 63412
2011-09-15 15:37:28 +00:00
Vincent Torri 70d3c66bd7 Eina: link against iconv, use rt_libs to hold -lrt and add -lrt to eina.pc.in's Libs.private
SVN revision: 61358
2011-07-14 07:18:11 +00:00
Carsten Haitzler d926889559 add eina mmap safety handling.
SVN revision: 60976
2011-07-04 09:29:59 +00:00
Cedric BAIL eb976c2571 eina: disabling Eina_Object until 1.1 is released.
SVN revision: 60427
2011-06-17 08:48:02 +00:00
Vincent Torri 008e1a56ac I like alphabetical order :)
SVN revision: 59516
2011-05-18 19:11:09 +00:00
Tom Hacohen 8ca233f8cb Eina binbuf: Added eina_binbuff an auto resizing binary buffer.
SVN revision: 59468
2011-05-17 15:45:39 +00:00
Vincent Torri a288cd7af1 Eina: Fix static build of the buddy mempool
SVN revision: 58974
2011-04-27 17:00:36 +00:00
Vincent Torri 95fc9bf64f formatting: alphabetical order
SVN revision: 58973
2011-04-27 16:58:23 +00:00
Carsten Haitzler d0ebc2d804 put a general prefix finder in eina.
SVN revision: 58848
2011-04-24 07:35:30 +00:00
Cedric BAIL 8b276b36c7 eina: add Eina_Object API.
This API is what could be used by all EFL library for their exposed
type (Evas_Object, Ecore_Timer, Ecore_Animator, Eio_File, ...). The
purpose of Eina_Object is to provide an "obscure" pointer that is
infact an ID with a generation count that will never be dereferenced
directly.
   This provide the benefit of always accessing a living object
with 1/256 chance to being the expected generation of it, that will
always be of the right type.
   It also provide asynchronous repacking ability (still highly
inefficient, but not really hard to improve), simple inheritance
with constructor/destructor and link between object.

All this implementation is highly open for comment, idea, review,
fix and change. I didn't got the time to write a sample test right
now. Maybe will come tomorrow. Same for docs.



SVN revision: 58562
2011-04-11 18:00:34 +00:00
Cedric BAIL 30fda98e76 eina: add Eina_Simple_Xml parser by Gustavo.
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
2011-04-06 10:14:03 +00:00
Cedric BAIL cb402e2a5a * eina: we don't plan to provide ABI compatibility until 1.0.
This kind of trick are for after 1.0, if you really need you can
	just pick that patch.


SVN revision: 55075
2010-11-29 23:16:19 +00:00
Cedric BAIL aaae4e223a * eina: eina_array_clean should be inlined from the beginning.
NOTE: to prevent ABI break, I added the old symbol in eina_abi.c.
	So binary/library using eina_array_clean should continue to work
	without any problem.


SVN revision: 55068
2010-11-29 18:32:30 +00:00
Vincent Torri d0458b87eb cosmetic: compile the files in alphabetic order
SVN revision: 54253
2010-11-06 23:40:21 +00:00
Vincent Torri 899983412b * port eina_file_*_ls() on Windows and put the code in another file
* on Windows eina_file_stat_ls() is the same that eina_file_direct_ls()

SVN revision: 54250
2010-11-06 21:00:58 +00:00
Cedric BAIL c7245e24ed * eina: fix amalgamation build.
SVN revision: 53392
2010-10-14 11:07:10 +00:00
Lucas De Marchi a95105a888 Implement function to drop priority of current thread
This function is useful for libraries like ecore and evas that have to
set some worker threads. The first thing these threads should do is to
call this function, so the main thread might continue running without
the worker threads interrupting it too much.



SVN revision: 52651
2010-09-23 20:38:48 +00:00
Tom Hacohen 6a0b488468 Eina: Moved the private headers to src/lib where they belong.
SVN revision: 51388
2010-08-19 08:30:01 +00:00
Vincent Torri ca4497509e i forgot about amalgamation. fix declaration too
SVN revision: 51243
2010-08-17 07:39:53 +00:00
Cedric BAIL 6293bd87fa * eina: fix amalgamation.
SVN revision: 51210
2010-08-16 13:52:34 +00:00
Carsten Haitzler c747bfaadb well got to start somewhere. eina 1.0.0 alpha readied. need to go over
code formatting still (headers specifically). bring doc building
in-line with other efl libs. README is useful now. Changelog waiting
to be filled in for 1.0.0



SVN revision: 51154
2010-08-16 05:40:50 +00:00
Tom Hacohen 32c7a50118 Eina: Fix compilation with --enable-amalgamation.
Sorry dh :P

SVN revision: 50545
2010-07-27 15:15:45 +00:00
Tom Hacohen 279da003e0 Eina: Added Eina_UStrbuf.
Same as Eina_Strbuf but for Eina_Unicode strings.

SVN revision: 50534
2010-07-27 09:05:41 +00:00
Tom Hacohen 3675a5f02b Eina: Add Eina_UStringshare and Eina_Binshare.
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
2010-07-27 08:55:23 +00:00
Tom Hacohen 270f765c91 Eina: Added Eina_Unicode.
SVN revision: 50532
2010-07-27 08:22:20 +00:00
Cedric BAIL 07ad9d5139 * eina: add a mempool that just do one big malloc.
SVN revision: 50510
2010-07-26 15:52:43 +00:00
Cedric BAIL 9367b5f7c7 * eina: Add first version of a Quad Tree data type.
NOTE: consider the API experimental and subject to change.


SVN revision: 48424
2010-04-29 17:21:14 +00:00
Carsten Haitzler 87efa72125 apparently fbsd is unaware of expr substr...
SVN revision: 48275
2010-04-24 14:31:23 +00:00
Vincent Torri 8840ed4118 on some platform, iconv.h defines iconv() with a macro,
hence the check with AC_SEARCH_LIBS s not sufficient. So
we link a complete program.


SVN revision: 45981
2010-02-08 13:14:30 +00:00
Vincent Torri e373b2c376 * remove useless iconv_cflags
* put iconv_libs to the correct libtool var


SVN revision: 45794
2010-02-02 06:48:52 +00:00
Sebastian Dransfeld eb29a86306 copy ecore_txt_convert to eina_str_convert
SVN revision: 45790
2010-02-02 04:49:38 +00:00
Sebastian Dransfeld 436249c412 Move ecore_str and ecore_strbuf to eina
SVN revision: 45650
2010-01-27 20:47:47 +00:00
Cedric BAIL 274ab1e01e * eina: Add sin and cos fixed point fonction.
SVN revision: 44287
2009-12-08 18:30:41 +00:00
Vincent Torri 2ccaf85b59 fix compilation of eina_amalgamation.c on Windows
SVN revision: 43513
2009-11-07 16:09:58 +00:00
Vincent Torri 7c24994f18 fix dist/distcheck rule
SVN revision: 43474
2009-11-06 01:02:35 +00:00
Vincent Torri a4d3d53e0d disable amalgamation by default
SVN revision: 43434
2009-11-03 16:52:45 +00:00
Vincent Torri 199400bc7d remove useless $(builddir)/ (also confirmed by a autoconf dev),
as anyway, '$(builddir)' is always '.' make distcheck passes.

Thanks to cantona who reported it.


SVN revision: 43401
2009-11-01 21:00:22 +00:00
Vincent Torri 568f723401 Add some more headers at the top of eina_amalgamation.c.
Fix compilation on Windows CE


SVN revision: 43054
2009-10-13 17:14:50 +00:00
Vincent Torri 47e25ab257 * really export symbols on Windows (EFL_EINA_BUILD not
correctly defined)
 * add evil in the Requires.private field of eina-0.pc.in

SVN revision: 42702
2009-09-25 15:39:53 +00:00
Vincent Torri e2b34b41ee * fix compilation on Windows when using amalgamation
* put alloca declaration at the beginning

SVN revision: 42517
2009-09-16 17:22:01 +00:00
Rafael Antognolli 0e716d559b EINA: Fix compilation when builddir != srcdir.
SVN revision: 42369
2009-09-09 20:37:23 +00:00
Vincent Torri 2d3021f128 * add amalgation support in configure output
* remove a warning when eina_amalgamation.c is deleted but does not exist
 * delete eina_amalgamation.c when doing 'make clean'


SVN revision: 42363
2009-09-09 07:42:08 +00:00
Gustavo Sverzut Barbieri 9b3e482ad2 --enable-amalgamation
This will concatenate all source files in the hope compiler will do a
better job. On my test with static/built in mempools it saves me 4k, I
guess some intra module calls can be saved.



SVN revision: 42315
2009-09-07 05:54:42 +00:00
Vincent Torri d56568b7f9 eina_log uses pthreads now (if enabled), so link libeina against pthread
SVN revision: 42248
2009-09-04 16:25:18 +00:00
Gustavo Sverzut Barbieri 643958705b eina_matrixsparse: welcome sparse matrix implementation and tests.
Sparse Matrix was implemented and tested by Rafael Antognolli and
myself in order to implement optimized large sparse matrix walk in
some products, one of them WebKit-EFL optimizations.

We have done extensive tests, with good code coverage. Similar to
lists/inlists, we keep pointer to last known element and similar to
iterators we keep reference to last accessed row and cell inside
rows. This allows fast sequential access (for i... for j... m[i,j]),
that is our most common usage case.

Rows are kept in a list, with cells inside that row as another
list. It's not similar to most book implementations where cells keep
reference to their sibling cells in other rows as well, we opted to
not do that to save some pointers and make algorithms simpler, still
do great for our use case.

This code was developed on behalf of our client, that wants to remain
unnamed so far. Thanks client ;-)



SVN revision: 42243
2009-09-04 13:43:44 +00:00
Gustavo Sverzut Barbieri 07d2bde900 eina_safety_checks_init()
All these individual init functions are getting messy, some modules
lack them and it's easy to get inconsistent. Safety check needs error
and log, but these need safety checks as well, some modules (lalloc,
rbtree and others) use safety checks but provide no _init().

I want to know if we really gain something to init individual
modules. It should not be that expensive as init should not allocate
heavy resources and the recommendation is to call eina_init() so most
users will do that anyway.

If people agree I'll unmark all *_init() as EAPI and make them private
to eina lib.



SVN revision: 42214
2009-09-04 00:53:19 +00:00