diff --git a/legacy/eina/ChangeLog b/legacy/eina/ChangeLog index e69de29bb2..bbcf3c6cbd 100644 --- a/legacy/eina/ChangeLog +++ b/legacy/eina/ChangeLog @@ -0,0 +1,4 @@ +20YY-MM-2DD NAME OF RELEASER + + MAJOR.MINOR.MICRO release + diff --git a/legacy/eina/Makefile.am b/legacy/eina/Makefile.am index 78be58e6ad..0afa8ad32a 100644 --- a/legacy/eina/Makefile.am +++ b/legacy/eina/Makefile.am @@ -19,16 +19,15 @@ ltmain.sh \ missing pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = eina-0.pc +pkgconfig_DATA = eina-1.pc EXTRA_DIST = \ AUTHORS \ COPYING \ -OLD-COPYING.PLAIN \ README \ $(pkgconfig_DATA) \ autogen.sh \ -eina-0.pc.in \ +eina-1.pc.in \ eina.spec \ eina.spec.in \ m4/ac_attribute.m4 \ diff --git a/legacy/eina/README b/legacy/eina/README index bf7c1379d4..58ee928332 100644 --- a/legacy/eina/README +++ b/legacy/eina/README @@ -1,2 +1,47 @@ -Data types library (List, hash, etc) +Eina 1.0.0 ALPHA +****************************************************************************** + + FOR ANY ISSUES PLEASE EMAIL: + enlightenment-devel@lists.sourceforge.net + +****************************************************************************** + +Requirements: +------------- +Must have: + libc + libm + (For windows you also need: evil) + +Eina is a library providing data structure utilities for EFL that are meant +to be lean, efficient and tailored to EFL's needs. This saves each +library implementing its own custom datatype handling and duplicating +the code. Some of the datatypes handles are: + Arrays (variable sized) + Hash tables + Inlined linked lists + Linked lists + Matricies + Quadtrees + Red/black trees + Strinbuffers (expandable string bufers) + +In addition Eina supports shared string token hashes with Stringshare +and Unistringshare (standard ascii/utf8 strings and full unicode +strings). It has a Trash pointer collector for deferring freeing until +work is complete on a dataset, Unicode string wrapping and handling, +UTF8 string parsing, 2D tile structure handling and rectangle +utilities, module loading wrapper, Memory pools for faster allocation +and less fragmentation of the heap, Output logging and selective +aborting on critical enough states, fixed point math functions, CPU +feature detection (like MMX, SSE, VFP, NEON etc.), Counters, binary +token sharing and more. + +------------------------------------------------------------------------------ +COMPILING AND INSTALLING: + + ./configure + make +(do this as root unless you are installing in your users directories): + make install diff --git a/legacy/eina/configure.ac b/legacy/eina/configure.ac index 7efda6a2c5..6fd05e2e16 100644 --- a/legacy/eina/configure.ac +++ b/legacy/eina/configure.ac @@ -1,25 +1,24 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_define([v_maj], [0]) -m4_define([v_min], [9]) -m4_define([v_mic], [9]) +m4_define([v_maj], [1]) +m4_define([v_min], [0]) +m4_define([v_mic], [0]) m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) ##-- When released, remove the dnl on the below line -dnl m4_undefine([v_rev]) +m4_undefine([v_rev]) ##-- When doing snapshots - change soname. remove dnl on below line -m4_define([relname], [ver-pre-svn-07]) -m4_define([v_rel], [-release relname]) +dnl m4_define([relname], [ver-pre-svn-07]) +dnl m4_define([v_rel], [-release relname]) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], -[m4_define([v_ver], [v_maj.v_min.v_mic])]) +m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])]) m4_define([lt_rev], m4_eval(v_maj + v_min)) m4_define([lt_cur], v_mic) m4_define([lt_age], v_min) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## -AC_INIT([eina], [v_ver], [enlightenment-devel@lists.sourceforge.net]) +AC_INIT([eina], [v_ver-alpha], [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.59]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) @@ -556,7 +555,7 @@ AC_SUBST(requirement_eina) AC_CONFIG_FILES([ Makefile -eina-0.pc +eina-1.pc eina.spec doc/Makefile src/Makefile diff --git a/legacy/eina/doc/Makefile.am b/legacy/eina/doc/Makefile.am index ff2628cbe0..25690bee3f 100644 --- a/legacy/eina/doc/Makefile.am +++ b/legacy/eina/doc/Makefile.am @@ -1,14 +1,26 @@ - -MAINTAINERCLEANFILES = Makefile.in +MAINTAINERCLEANFILES = Makefile.in .PHONY: doc +PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc + if EFL_BUILD_DOC +doc-clean: + rm -rf html/ latex/ man/ xml/ $(PACKAGE_DOCNAME).tar* + doc: all - rm -rf html/ latex/ man/ $(efl_doxygen) cp img/* html/ + rm -rf $(PACKAGE_DOCNAME).tar* + mkdir -p $(PACKAGE_DOCNAME)/doc + cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc + tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/ + bzip2 -9 $(PACKAGE_DOCNAME).tar + rm -rf $(PACKAGE_DOCNAME)/ + mv $(PACKAGE_DOCNAME).tar.bz2 $(top_srcdir) + +clean-local: doc-clean else @@ -17,7 +29,4 @@ doc: endif -clean-local: - @rm -rf html/ latex/ man/ - EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html diff --git a/legacy/eina/eina-0.pc.in b/legacy/eina/eina-1.pc.in similarity index 100% rename from legacy/eina/eina-0.pc.in rename to legacy/eina/eina-1.pc.in diff --git a/legacy/eina/src/include/eina_accessor.h b/legacy/eina/src/include/eina_accessor.h index 0b3ea3b6da..2761250510 100644 --- a/legacy/eina/src/include/eina_accessor.h +++ b/legacy/eina/src/include/eina_accessor.h @@ -68,18 +68,9 @@ struct _Eina_Accessor #define FUNC_ACCESSOR_LOCK(Function) ((Eina_Accessor_Lock_Callback)Function) EAPI void eina_accessor_free(Eina_Accessor *accessor) EINA_ARG_NONNULL(1); - -EAPI Eina_Bool eina_accessor_data_get(Eina_Accessor *accessor, - unsigned int position, - void **data) EINA_ARG_NONNULL(1); +EAPI Eina_Bool eina_accessor_data_get(Eina_Accessor *accessor, unsigned int position, void **data) EINA_ARG_NONNULL(1); EAPI void * eina_accessor_container_get(Eina_Accessor *accessor) EINA_ARG_NONNULL(1) EINA_PURE; - -EAPI void eina_accessor_over(Eina_Accessor *accessor, - Eina_Each_Cb cb, - unsigned int start, - unsigned int end, - const void *fdata) EINA_ARG_NONNULL(1, 2); - +EAPI void eina_accessor_over(Eina_Accessor *accessor, Eina_Each_Cb cb, unsigned int start, unsigned int end, const void *fdata) EINA_ARG_NONNULL(1, 2); EAPI Eina_Bool eina_accessor_lock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1); EAPI Eina_Bool eina_accessor_unlock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1); @@ -132,18 +123,10 @@ EAPI Eina_Bool eina_accessor_unlock(Eina_Accessor *accessor) EINA_ARG_NONNULL(1) * rather in the accessors implementations to keep them as simple * and fast as possible. */ -#define EINA_ACCESSOR_FOREACH(accessor, counter, data) for ((counter) = 0; \ - eina_accessor_data_get(( \ - accessor), \ - ( \ - counter), \ - ( \ - void \ - * \ - *) \ - &( \ - data)); \ - (counter)++) +#define EINA_ACCESSOR_FOREACH(accessor, counter, data) \ + for ((counter) = 0; \ + eina_accessor_data_get((accessor), (counter), (void **)&(data)); \ + (counter)++) /** * @} diff --git a/legacy/eina/src/include/eina_array.h b/legacy/eina/src/include/eina_array.h index 3e36ffb4dd..318b9f3c6a 100644 --- a/legacy/eina/src/include/eina_array.h +++ b/legacy/eina/src/include/eina_array.h @@ -137,10 +137,10 @@ static inline Eina_Bool eina_array_foreach(Eina_Array *array, Eina_Each_Cb cb, * free(item); * @endcode */ -#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \ +#define EINA_ARRAY_ITER_NEXT(array, index, item, iterator) \ for (index = 0, iterator = (array)->data; \ (index < eina_array_count_get(array)) && ((item = *((iterator)++))); \ - ++(index)) + ++(index)) #include "eina_inline_array.x" diff --git a/legacy/eina/src/include/eina_benchmark.h b/legacy/eina/src/include/eina_benchmark.h index 90549c161a..e876d601ca 100644 --- a/legacy/eina/src/include/eina_benchmark.h +++ b/legacy/eina/src/include/eina_benchmark.h @@ -55,17 +55,10 @@ typedef void (*Eina_Benchmark_Specimens)(int request); */ #define EINA_BENCHMARK(function) ((Eina_Benchmark_Specimens)function) -EAPI Eina_Benchmark *eina_benchmark_new(const char *name, const char *run); -EAPI void eina_benchmark_free(Eina_Benchmark *bench); - -EAPI Eina_Bool eina_benchmark_register(Eina_Benchmark *bench, - const char *name, - Eina_Benchmark_Specimens bench_cb, - int count_start, - int count_end, - int count_set); - -EAPI Eina_Array *eina_benchmark_run(Eina_Benchmark *bench); +EAPI Eina_Benchmark * eina_benchmark_new(const char *name, const char *run); +EAPI void eina_benchmark_free(Eina_Benchmark *bench); +EAPI Eina_Bool eina_benchmark_register(Eina_Benchmark *bench, const char *name, Eina_Benchmark_Specimens bench_cb, int count_start, int count_end, int count_set); +EAPI Eina_Array * eina_benchmark_run(Eina_Benchmark *bench); /** * @} diff --git a/legacy/eina/src/include/eina_binshare.h b/legacy/eina/src/include/eina_binshare.h index d47644953d..7a19462d44 100644 --- a/legacy/eina/src/include/eina_binshare.h +++ b/legacy/eina/src/include/eina_binshare.h @@ -67,8 +67,7 @@ EAPI Eina_Bool eina_binshare_init(void); EAPI Eina_Bool eina_binshare_shutdown(void); -EAPI const void *eina_binshare_add_length(const void *obj, - unsigned int olen) EINA_PURE EINA_WARN_UNUSED_RESULT; +EAPI const void *eina_binshare_add_length(const void *obj, unsigned int olen) EINA_PURE EINA_WARN_UNUSED_RESULT; EAPI const void *eina_binshare_ref(const void *obj); EAPI void eina_binshare_del(const void *obj); EAPI int eina_binshare_length(const void *obj) EINA_WARN_UNUSED_RESULT; diff --git a/legacy/eina/src/include/eina_convert.h b/legacy/eina/src/include/eina_convert.h index e0e853be67..43e4244acd 100644 --- a/legacy/eina/src/include/eina_convert.h +++ b/legacy/eina/src/include/eina_convert.h @@ -56,16 +56,10 @@ EAPI extern Eina_Error EINA_ERROR_CONVERT_OUTRUN_STRING_LENGTH; EAPI int eina_convert_itoa(int n, char *s) EINA_ARG_NONNULL(2); EAPI int eina_convert_xtoa(unsigned int n, char *s) EINA_ARG_NONNULL(2); - EAPI int eina_convert_dtoa(double d, char *des) EINA_ARG_NONNULL(2); -EAPI Eina_Bool eina_convert_atod(const char *src, - int length, - long long *m, - long *e) EINA_ARG_NONNULL(1,3,4); - -EAPI int eina_convert_fptoa(Eina_F32p32 fp, char *des) EINA_ARG_NONNULL(2); -EAPI Eina_Bool eina_convert_atofp(const char *src, int length, - Eina_F32p32 *fp) EINA_ARG_NONNULL(1,3); +EAPI Eina_Bool eina_convert_atod(const char *src, int length, long long *m, long *e) EINA_ARG_NONNULL(1,3,4); +EAPI int eina_convert_fptoa(Eina_F32p32 fp, char *des) EINA_ARG_NONNULL(2); +EAPI Eina_Bool eina_convert_atofp(const char *src, int length, Eina_F32p32 *fp) EINA_ARG_NONNULL(1,3); /** * @} diff --git a/legacy/eina/src/include/eina_counter.h b/legacy/eina/src/include/eina_counter.h index 04dc0d67b7..7d0abbee40 100644 --- a/legacy/eina/src/include/eina_counter.h +++ b/legacy/eina/src/include/eina_counter.h @@ -40,11 +40,10 @@ typedef struct _Eina_Counter Eina_Counter; EAPI Eina_Counter * eina_counter_new( const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1); -EAPI void eina_counter_free( Eina_Counter *counter) EINA_ARG_NONNULL(1); - -EAPI void eina_counter_start( Eina_Counter *counter) EINA_ARG_NONNULL(1); -EAPI void eina_counter_stop( Eina_Counter *counter, int specimen) EINA_ARG_NONNULL(1); -EAPI char * eina_counter_dump( Eina_Counter *counter) EINA_ARG_NONNULL(1); +EAPI void eina_counter_free( Eina_Counter *counter) EINA_ARG_NONNULL(1); +EAPI void eina_counter_start( Eina_Counter *counter) EINA_ARG_NONNULL(1); +EAPI void eina_counter_stop( Eina_Counter *counter, int specimen) EINA_ARG_NONNULL(1); +EAPI char * eina_counter_dump( Eina_Counter *counter) EINA_ARG_NONNULL(1); /** * @} diff --git a/legacy/eina/src/include/eina_error.h b/legacy/eina/src/include/eina_error.h index 339ff211c2..8ca76beb67 100644 --- a/legacy/eina/src/include/eina_error.h +++ b/legacy/eina/src/include/eina_error.h @@ -49,8 +49,7 @@ EAPI extern Eina_Error EINA_ERROR_OUT_OF_MEMORY; EAPI Eina_Error eina_error_msg_register(const char *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; EAPI Eina_Error eina_error_msg_static_register(const char *msg) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; -EAPI Eina_Bool eina_error_msg_modify(Eina_Error error, - const char *msg) EINA_ARG_NONNULL(1, 2); +EAPI Eina_Bool eina_error_msg_modify(Eina_Error error, const char *msg) EINA_ARG_NONNULL(1, 2); EAPI Eina_Error eina_error_get(void); EAPI void eina_error_set(Eina_Error err); EAPI const char *eina_error_msg_get(Eina_Error error) EINA_PURE; diff --git a/legacy/eina/src/include/eina_file.h b/legacy/eina/src/include/eina_file.h index 64129df3b1..53a7974ee8 100644 --- a/legacy/eina/src/include/eina_file.h +++ b/legacy/eina/src/include/eina_file.h @@ -44,8 +44,7 @@ * @typedef Eina_File_Dir_List_Cb * Type for a callback. */ -typedef void (*Eina_File_Dir_List_Cb)(const char *name, const char *path, - void *data); +typedef void (*Eina_File_Dir_List_Cb)(const char *name, const char *path, void *data); /** * @def EINA_FILE_DIR_LIST_CB @@ -57,12 +56,9 @@ typedef void (*Eina_File_Dir_List_Cb)(const char *name, const char *path, */ #define EINA_FILE_DIR_LIST_CB(function) ((Eina_File_Dir_List_Cb)function) -EAPI Eina_Bool -eina_file_dir_list(const char *dir, Eina_Bool recursive, Eina_File_Dir_List_Cb cb, void *data) EINA_ARG_NONNULL(1, 3); -EAPI Eina_Array * -eina_file_split(char *path) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; -EAPI Eina_Iterator * -eina_file_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; +EAPI Eina_Bool eina_file_dir_list(const char *dir, Eina_Bool recursive, Eina_File_Dir_List_Cb cb, void *data) EINA_ARG_NONNULL(1, 3); +EAPI Eina_Array * eina_file_split(char *path) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; +EAPI Eina_Iterator * eina_file_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; typedef struct _Eina_File_Direct_Info Eina_File_Direct_Info; @@ -75,7 +71,7 @@ struct _Eina_File_Direct_Info const struct dirent *dirent; }; -EAPI Eina_Iterator *eina_file_direct_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; +EAPI Eina_Iterator * eina_file_direct_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; /** * @} diff --git a/legacy/eina/src/include/eina_hash.h b/legacy/eina/src/include/eina_hash.h index ea7c2c6ccf..6a65b0aec9 100644 --- a/legacy/eina/src/include/eina_hash.h +++ b/legacy/eina/src/include/eina_hash.h @@ -51,7 +51,6 @@ struct _Eina_Hash_Tuple { const void *key; void *data; - unsigned int key_length; }; @@ -61,67 +60,54 @@ typedef int (*Eina_Key_Cmp)(const void *key1, int key1_length, const void *key2, #define EINA_KEY_CMP(Function) ((Eina_Key_Cmp)Function) typedef int (*Eina_Key_Hash)(const void *key, int key_length); #define EINA_KEY_HASH(Function) ((Eina_Key_Hash)Function) - -EAPI Eina_Hash *eina_hash_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3); -EAPI Eina_Hash *eina_hash_string_djb2_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_string_superfast_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_string_small_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_int32_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_int64_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_pointer_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_stringshared_new(Eina_Free_Cb data_free_cb); - -EAPI Eina_Hash *eina_hash_threadsafe_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3); -EAPI Eina_Hash *eina_hash_threadsafe_string_djb2_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_threadsafe_string_superfast_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_threadsafe_string_small_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_threadsafe_int32_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_threadsafe_int64_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_threadsafe_pointer_new(Eina_Free_Cb data_free_cb); -EAPI Eina_Hash *eina_hash_threadsafe_stringshared_new(Eina_Free_Cb data_free_cb); - -EAPI Eina_Bool eina_hash_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); -EAPI Eina_Bool eina_hash_direct_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); -EAPI Eina_Bool eina_hash_del(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1); -EAPI void *eina_hash_find(const Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2); -EAPI void *eina_hash_modify(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); -EAPI void *eina_hash_set(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); -EAPI Eina_Bool eina_hash_move(Eina_Hash *hash, const void *old_key, const void *new_key) EINA_ARG_NONNULL(1, 2, 3); - -EAPI void eina_hash_free(Eina_Hash *hash) EINA_ARG_NONNULL(1); -EAPI void eina_hash_free_buckets(Eina_Hash *hash) EINA_ARG_NONNULL(1); -EAPI int eina_hash_population(const Eina_Hash *hash) EINA_ARG_NONNULL(1); - -EAPI Eina_Bool eina_hash_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5); -EAPI Eina_Bool eina_hash_direct_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5); - -EAPI Eina_Bool eina_hash_del_by_key_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2); - -EAPI Eina_Bool eina_hash_del_by_key(Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2); -EAPI Eina_Bool eina_hash_del_by_data(Eina_Hash *hash, const void *data) EINA_ARG_NONNULL(1, 2); - -EAPI Eina_Bool eina_hash_del_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1); -EAPI void *eina_hash_find_by_hash(const Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2); -EAPI void *eina_hash_modify_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5); - -EAPI Eina_Iterator *eina_hash_iterator_key_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; -EAPI Eina_Iterator *eina_hash_iterator_data_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; -EAPI Eina_Iterator *eina_hash_iterator_tuple_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; - - typedef Eina_Bool (*Eina_Hash_Foreach)(const Eina_Hash *hash, const void *key, void *data, void *fdata); -EAPI void eina_hash_foreach(const Eina_Hash *hash, Eina_Hash_Foreach cb, const void *fdata) EINA_ARG_NONNULL(1, 2); +EAPI Eina_Hash * eina_hash_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3); +EAPI Eina_Hash * eina_hash_string_djb2_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_string_superfast_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_string_small_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_int32_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_int64_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_pointer_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_stringshared_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_new(Eina_Key_Length key_length_cb, Eina_Key_Cmp key_cmp_cb, Eina_Key_Hash key_hash_cb, Eina_Free_Cb data_free_cb, int buckets_power_size) EINA_MALLOC EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3); +EAPI Eina_Hash * eina_hash_threadsafe_string_djb2_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_string_superfast_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_string_small_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_int32_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_int64_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_pointer_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Hash * eina_hash_threadsafe_stringshared_new(Eina_Free_Cb data_free_cb); +EAPI Eina_Bool eina_hash_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); +EAPI Eina_Bool eina_hash_direct_add(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); +EAPI Eina_Bool eina_hash_del(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1); +EAPI void * eina_hash_find(const Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2); +EAPI void * eina_hash_modify(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); +EAPI void * eina_hash_set(Eina_Hash *hash, const void *key, const void *data) EINA_ARG_NONNULL(1, 2, 3); +EAPI Eina_Bool eina_hash_move(Eina_Hash *hash, const void *old_key, const void *new_key) EINA_ARG_NONNULL(1, 2, 3); +EAPI void eina_hash_free(Eina_Hash *hash) EINA_ARG_NONNULL(1); +EAPI void eina_hash_free_buckets(Eina_Hash *hash) EINA_ARG_NONNULL(1); +EAPI int eina_hash_population(const Eina_Hash *hash) EINA_ARG_NONNULL(1); +EAPI Eina_Bool eina_hash_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5); +EAPI Eina_Bool eina_hash_direct_add_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5); +EAPI Eina_Bool eina_hash_del_by_key_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2); +EAPI Eina_Bool eina_hash_del_by_key(Eina_Hash *hash, const void *key) EINA_ARG_NONNULL(1, 2); +EAPI Eina_Bool eina_hash_del_by_data(Eina_Hash *hash, const void *data) EINA_ARG_NONNULL(1, 2); +EAPI Eina_Bool eina_hash_del_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1); +EAPI void * eina_hash_find_by_hash(const Eina_Hash *hash, const void *key, int key_length, int key_hash) EINA_ARG_NONNULL(1, 2); +EAPI void * eina_hash_modify_by_hash(Eina_Hash *hash, const void *key, int key_length, int key_hash, const void *data) EINA_ARG_NONNULL(1, 2, 5); +EAPI Eina_Iterator * eina_hash_iterator_key_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Iterator * eina_hash_iterator_data_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; +EAPI Eina_Iterator * eina_hash_iterator_tuple_new(const Eina_Hash *hash) EINA_MALLOC EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; +EAPI void eina_hash_foreach(const Eina_Hash *hash, Eina_Hash_Foreach cb, const void *fdata) EINA_ARG_NONNULL(1, 2); /* Paul Hsieh (http://www.azillionmonkeys.com/qed/hash.html) hash function used by WebCore (http://webkit.org/blog/8/hashtables-part-2/) */ -EAPI int eina_hash_superfast(const char *key, int len) EINA_ARG_NONNULL(1); - +EAPI int eina_hash_superfast(const char *key, int len) EINA_ARG_NONNULL(1); /* Hash function first reported by dan bernstein many years ago in comp.lang.c */ -static inline int eina_hash_djb2(const char *key, int len) EINA_ARG_NONNULL(1); -static inline int eina_hash_djb2_len(const char *key, int *plen) EINA_ARG_NONNULL(1, 2); - +static inline int eina_hash_djb2(const char *key, int len) EINA_ARG_NONNULL(1); +static inline int eina_hash_djb2_len(const char *key, int *plen) EINA_ARG_NONNULL(1, 2); /* Hash function from http://www.concentric.net/~Ttwang/tech/inthash.htm */ -static inline int eina_hash_int32(const unsigned int *pkey, int len) EINA_ARG_NONNULL(1); -static inline int eina_hash_int64(const unsigned long int *pkey, int len) EINA_ARG_NONNULL(1); +static inline int eina_hash_int32(const unsigned int *pkey, int len) EINA_ARG_NONNULL(1); +static inline int eina_hash_int64(const unsigned long int *pkey, int len) EINA_ARG_NONNULL(1); #include "eina_inline_hash.x" diff --git a/legacy/eina/src/include/eina_main.h b/legacy/eina/src/include/eina_main.h index 29b0bb7075..0984d06201 100644 --- a/legacy/eina/src/include/eina_main.h +++ b/legacy/eina/src/include/eina_main.h @@ -19,11 +19,10 @@ #ifndef EINA_MAIN_H_ #define EINA_MAIN_H_ - #include "eina_types.h" -#define EINA_VERSION_MAJOR 0 -#define EINA_VERSION_MINOR 9 +#define EINA_VERSION_MAJOR 1 +#define EINA_VERSION_MINOR 0 typedef struct _Eina_Version { @@ -48,11 +47,8 @@ EAPI extern Eina_Version *eina_version; */ EAPI int eina_init(void); - EAPI int eina_shutdown(void); - EAPI int eina_threads_init(void); - EAPI int eina_threads_shutdown(void); /** diff --git a/legacy/eina/src/lib/Makefile.am b/legacy/eina/src/lib/Makefile.am index 9fc3df6931..5f1c693eec 100644 --- a/legacy/eina/src/lib/Makefile.am +++ b/legacy/eina/src/lib/Makefile.am @@ -45,7 +45,10 @@ eina_strbuf.c \ eina_strbuf_common.c \ eina_ustrbuf.c \ eina_unicode.c \ -eina_quadtree.c +eina_quadtree.c \ +eina_share_common.h \ +eina_strbuf_common.h \ +eina_strbuf_template_c.i if EINA_STATIC_BUILD_CHAINED_POOL base_sources += $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c