CIA.vc
Eina
Enlightenment's Data Type and Helpers Library
Stats » Projects » Enlightenment » Eina
information
Photo
Eina is a multi-platform library that provides optimized data types and useful tools for projects. Among its data types, Eina provides efficient implementation of: * double linked list with O(1) append and count; * double linked inlist (node is built in the data) with O(1) append; * stringshare, a pool of read-only strings that are shared in order to save memory (no copies!), fast referencing and pointer-comparison; * hash table with extensible key support, ships by default with string, stringshare, pointer and integer hashes by default; * array of pointers, with O(1) count and append, configurable step growing; * red-black tree; * sparse matrix; As for tools, it provides couple of convenience: * generic and extensible logging system; * easy to use dynamic module loading (on top of dlopen()) that makes it easy to change to static/built-in modules; * generic safety-checks system covering NULL pointers and other incorrect conditions with logging; * "magic" type checking that check and logs if expected magic number is incorrect; * easy to use and extensible memory allocators (mempools); * fixed-point arithmetic; * tile splitter and simplifier (merges); * generic iterator pattern (how to walk in one direction), just implement the given API; * generic accessor pattern (how to randomly access items), just implement the given API; * benchmark helpers.
syndicateUTC clock
13:12 on Feb 13, 2012
event counters
The last message was received 1.65 days ago at 21:30 on Feb 11, 2012
0 messages so far today, 0 messages yesterday
0 messages so far this week, 29 messages last week
34 messages so far this month, 107 messages last month
973 messages since the first one, 2.02 years ago, for an average of 18.17 hours between messages
recent messages
dateReversed sort columnprojectcontentlink
21:30 Saturdaye
Commit by barbieri :: r67851 eina/src/include/ (4 files): (link)
improve documentation of eina model and value.
#
04:14 Saturdaye
Commit by barbieri :: r67845 eina/src/ (include/eina_model.h lib/eina_model.c): (link)
model: add helper for common pattern
#
04:07 Saturdaye
Commit by barbieri :: r67844 eina/src/tests/eina_test_model.c: (link)
one day I'll be less stupid...

... or one day we'll move to git so I can rewrite stupid commits :-D
#
03:59 Saturdaye
Commit by barbieri :: r67843 eina/src/ (5 files in 3 dirs): (link)
eina_value: break usage, but makes it more uniform and correct.

I did a bad decision to steal memory for Array, List, Hash and Struct
types, it was nice to not have to copy it internally, but breaks when
one needs to set a new value that was set elsewhere. What did not
happen with string, integers and other basic types.

This was exposed by Raphael Kubo using eina_model_property_set() with
complex types (Array, List and Hash) and it was not possible to
correctly set such properties.

Now it's all set, but the behavior changed and the memory is not
stolen and released anymore. Test eina_test_value.c was changed to
reflect it.
#
01:29 Saturdaye
Commit by barbieri :: r67841 eina/src/ (2 files in 2 dirs): (link)
value: be safer on reset of existing values.

if user get and then set the same value, we should not crash and this
may happen with previous code as the old
string/array/value/list... were released, then you ended with the
released memory still being pointed.
#
01:09 Saturdaye
Commit by barbieri :: r67840 eina/src/include/eina_inline_value.x: (link)
value: just setup on new memory!

We should not flush and then setup the memory, instead we leave
vset/pset functions do their own stuff to clean previous data, if any.
#
00:59 Saturdaye
Commit by barbieri :: r67839 eina/src/lib/eina_value.c: (link)
value: allow multiple flush.

multiple flush may happen when handling errors. May be used in some cases.
#
00:44 Saturdaye
Commit by barbieri :: r67838 eina/src/lib/eina_value.c: (link)
eina_value: fix convert to string on empty/null cases.
#
00:22 Saturdaye
Commit by barbieri :: r67837 eina/ (. src/examples/ src/tests/): (link)
ignore generated files.
#
00:04 Saturdaye
Commit by barbieri :: r67836 eina/src/tests/eina_test_value.c: (link)
fix test leaks
#
00:04 Saturdaye
Commit by barbieri :: r67835 eina/src/lib/eina_value.c: (link)
eina_value_hash: must free hash value after it's flushed.
#
00:03 Saturdaye
Commit by barbieri :: r67834 eina/src/tests/eina_suite.c: (link)
fix memleak in test suite.
#
20:43 Fridaye
Commit by barbieri :: r67832 eina/src/ (4 files in 2 dirs): (link)
Another example for eina_model.

Patch by: "Jonas M. Gastal" <jgastal at profusion dot mobi>
#
14:28 Fridaye
Commit by barbieri :: r67822 eina/configure.ac: (link)
thanks vincent.

I just did that mistake to see if you were paying attention... /me liar! :-)
#
14:13 Fridaye
Commit by barbieri :: r67821 eina/ (3 files in 3 dirs): (link)
eina_model: add xref/xunref, xrefs_get and models_usage_dump!

Let's try to help debug by allowing extended reference management that
takes in account an identifier. This identifier is accounted on xref
and xunref and must match.

xrefs_get will return the list of such references, for debugging purposes.

eina_models_list_get() was added to return all live models, just
tracked when EINA_MODEL_DEBUG is enabled.

eina_models_usage_dump() was added and use the same infrastructure as
eina_models_list_get() and eina_model_xrefs_get() to aid debugging :-)
#
13:59 Fridaye
Commit by barbieri :: r67818 eina/src/examples/eina_model_02.c: (link)
add missing shutdown
#
01:07 Fridaye
Commit by barbieri :: r67799 eina/src/modules/mp/ (7 files in 7 dirs): (link)
remove @EINA_CPPFLAGS@ from remaining Makefile.am

Thanks to Tommy[D] for spotting the problem!
#
23:50 Thursdaye
Commit by barbieri :: r67798 eina/AUTHORS: (link)
add Jonas to authors.

He worked previously with documentation, now is helping me with
Eina_Model and will keep adding some examples and fixes here and
there.
#
22:38 Thursdaye
Commit by barbieri :: r67797 eina/src/ (4 files in 2 dirs): (link)
More documentation for eina_model.

Patch by: "Jonas M. Gastal" <jgastal at profusion dot mobi>
#
19:54 Thursdaye
Commit by barbieri :: r67796 eina/src/ (include/eina_model.h lib/eina_model.c): (link)
eina_model: rename all "search" to "criteria_match"
#