@since...

On Wed, 15 Jun 2011, Enlightenment SVN wrote:

> Log:
> eina: +eina_hash_free_set.
>
>
> Author:       cedric
> Date:         2011-06-15 08:46:10 -0700 (Wed, 15 Jun 2011)
> New Revision: 60354
> Trac:         http://trac.enlightenment.org/e/changeset/60354
>
> Modified:
>  trunk/eina/ChangeLog trunk/eina/src/include/eina_hash.h 
> trunk/eina/src/lib/eina_hash.c
>
> Modified: trunk/eina/ChangeLog
> ===================================================================
> --- trunk/eina/ChangeLog      2011-06-15 14:57:38 UTC (rev 60353)
> +++ trunk/eina/ChangeLog      2011-06-15 15:46:10 UTC (rev 60354)
> @@ -102,7 +102,12 @@
>
>       * Fix eina_hash_set to handle data == NULL like eina_hash_del.
>
> -2011-06-3  Vincent Torri
> +2011-06-03  Vincent Torri
>
>         * Fix static linking with eina (iconv could potentially not be
>       passed to the linker)
> +
> +2011-06-15  Cedric Bail
> +
> +     * Add eina_hash_free_set to change the free callback during the
> +     life of an Eina_Hash.
>
> Modified: trunk/eina/src/include/eina_hash.h
> ===================================================================
> --- trunk/eina/src/include/eina_hash.h        2011-06-15 14:57:38 UTC (rev 
> 60353)
> +++ trunk/eina/src/include/eina_hash.h        2011-06-15 15:46:10 UTC (rev 
> 60354)
> @@ -264,6 +264,15 @@
>                               int             buckets_power_size) EINA_MALLOC 
> EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2, 3);
>
> /**
> + * @brief Redefine the callback that clean the data of a hash
> + *
> + * @param hash The given hash table
> + * @param data_free_cb The function called on each value when the hash
> + * table is freed. @c NULL can be passed as callback.
> + */
> +EAPI void eina_hash_free_set(Eina_Hash *hash, Eina_Free_Cb data_free_cb) 
> EINA_ARG_NONNULL(1);
> +
> +/**
>  * @brief Create a new hash table using the djb2 algorithm.
>  *
>  * @param data_free_cb The function called on each value when the hash table
>
> Modified: trunk/eina/src/lib/eina_hash.c
> ===================================================================
> --- trunk/eina/src/lib/eina_hash.c    2011-06-15 14:57:38 UTC (rev 60353)
> +++ trunk/eina/src/lib/eina_hash.c    2011-06-15 15:46:10 UTC (rev 60354)
> @@ -713,6 +713,15 @@
>  *                                   API                                      
> *
>  
> *============================================================================*/
>
> +EAPI void
> +eina_hash_free_set(Eina_Hash *hash, Eina_Free_Cb data_free_cb)
> +{
> +   EINA_MAGIC_CHECK_HASH(hash);
> +   EINA_SAFETY_ON_NULL_RETURN(hash);
> +
> +   hash->data_free_cb = data_free_cb;
> +}
> +
> EAPI Eina_Hash *
> eina_hash_new(Eina_Key_Length key_length_cb,
>               Eina_Key_Cmp key_cmp_cb,
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
>

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to