Damn forgotten svn add !!! Fixed in r66419.

Thanks

On Wed, Dec 21, 2011 at 3:39 AM, Daniel Juyung Seo <[email protected]> wrote:
> Spank, spank spank!!! CCCCCCCCeeeeeddddddrrrrrrriiiiiiiccccccc!!!!
> Where's eio_map.c?
> I temporarily removed eio_map.c from build.
> Please add it.
>
> Daniel Juyung Seo (SeoZ)
>
> On Wed, Dec 21, 2011 at 2:35 AM, Enlightenment SVN
> <[email protected]> wrote:
>> Log:
>> eio: add API for eina_file_open and like.
>>
>>  tweet: now Eio can help you load your file assynchronously !
>>
>>
>> Author:       cedric
>> Date:         2011-12-20 09:35:41 -0800 (Tue, 20 Dec 2011)
>> New Revision: 66397
>> Trac:         http://trac.enlightenment.org/e/changeset/66397
>>
>> Modified:
>>  trunk/eio/src/lib/Eio.h trunk/eio/src/lib/Makefile.am 
>> trunk/eio/src/lib/eio_private.h
>>
>> Modified: trunk/eio/src/lib/Eio.h
>> ===================================================================
>> --- trunk/eio/src/lib/Eio.h     2011-12-20 17:25:54 UTC (rev 66396)
>> +++ trunk/eio/src/lib/Eio.h     2011-12-20 17:35:41 UTC (rev 66397)
>> @@ -123,6 +123,10 @@
>>  typedef void (*Eio_Stat_Cb)(void *data, Eio_File *handler, const struct 
>> stat *stat);
>>  typedef void (*Eio_Progress_Cb)(void *data, Eio_File *handler, const 
>> Eio_Progress *info);
>>
>> +typedef void (*Eio_Open_Cb)(void *data, Eio_File *handler, Eina_File *file);
>> +typedef Eina_Bool (*Eio_Filter_Map_Cb)(void *data, Eio_File *handler, void 
>> *map);
>> +typedef void (*Eio_Map_Cb)(void *data, Eio_File *handler, void *map);
>> +
>>  typedef void (*Eio_Done_Data_Cb)(void *data, Eio_File *handler, const char 
>> *xattr_data, unsigned int xattr_size);
>>  typedef void (*Eio_Done_String_Cb)(void *data, Eio_File *handler, const 
>> char *xattr_string);
>>  typedef void (*Eio_Done_Double_Cb)(void *data, Eio_File *handler, double 
>> xattr_double);
>> @@ -678,7 +682,87 @@
>>  /**
>>  *
>>  */
>> +
>>  /**
>> + * @defgroup Eio_Map Manipulate an Eina_File assynchronously
>> + *
>> + * @brief This function help manipulating file assynchronously.
>> + */
>> +
>> +/**
>> + * @brief Assynchronously open a file.
>> + * @param name The file to open.
>> + * @param shared If it's an shm file.
>> + * @param open_cb Callback called in the main loop when the file has been 
>> successfully opened.
>> + * @param error_cb Callback called in the main loop when the file couldn't 
>> be opened.
>> + * @param data Private data given to each callback.
>> + * @return NULL in case of a failure.
>> + */
>> +EAPI Eio_File *eio_file_open(const char *name, Eina_Bool shared,
>> +                             Eio_Open_Cb open_cb,
>> +                             Eio_Error_Cb error_cb,
>> +                             const void *data);
>> +
>> +/**
>> + * @brief Assynchronously close a file.
>> + * @param f The file to close.
>> + * @param done_cb Callback called in the main loop when the file has been 
>> successfully closed.
>> + * @param error_cb Callback called in the main loop when the file couldn't 
>> be closed.
>> + * @param data Private data given to each callback.
>> + * @return NULL in case of a failure.
>> + */
>> +EAPI Eio_File *eio_file_close(Eina_File *f,
>> +                              Eio_Done_Cb done_cb,
>> +                              Eio_Error_Cb error_cb,
>> +                              const void *data);
>> +
>> +/**
>> + * @brief Assynchronously map a file in memory.
>> + * @param f The file to map.
>> + * @param rule The rule to apply to the map.
>> + * @param filter_cb Callback called in the thread to validate the content 
>> of the map.
>> + * @param map_cb Callback called in the main loop when the file has been 
>> successfully mapped.
>> + * @param error_cb Callback called in the main loop when the file can't be 
>> mapped.
>> + * @param data Private data given to each callback.
>> + * @return NULL in case of a failure.
>> + *
>> + * The container of the Eio_File is the Eina_File.
>> + */
>> +EAPI Eio_File *eio_file_map_all(Eina_File *f,
>> +                                Eina_File_Populate rule,
>> +                                Eio_Filter_Map_Cb filter_cb,
>> +                                Eio_Map_Cb map_cb,
>> +                                Eio_Error_Cb error_cb,
>> +                                const void *data);
>> +
>> +/**
>> + * @brief Assynchronously map a part of a file in memory.
>> + * @param f The file to map.
>> + * @param rule The rule to apply to the map.
>> + * @param offset The offset inside the file
>> + * @param length The length of the memory to map
>> + * @param filter_cb Callback called in the thread to validate the content 
>> of the map.
>> + * @param map_cb Callback called in the main loop when the file has been 
>> successfully mapped.
>> + * @param error_cb Callback called in the main loop when the file can't be 
>> mapped.
>> + * @param data Private data given to each callback.
>> + * @return NULL in case of a failure.
>> + *
>> + * The container of the Eio_File is the Eina_File.
>> + */
>> +EAPI Eio_File *eio_file_map_new(Eina_File *f,
>> +                                Eina_File_Populate rule,
>> +                                unsigned long int offset,
>> +                                unsigned long int length,
>> +                                Eio_Filter_Map_Cb filter_cb,
>> +                                Eio_Map_Cb map_cb,
>> +                                Eio_Error_Cb error_cb,
>> +                                const void *data);
>> +
>> +/**
>> + * @}
>> + */
>> +
>> +/**
>>  * @defgroup Eio_Monitor Eio file and directory monitoring API
>>  *
>>  * @brief This function help monitoring change in a directory or on a file.
>>
>> Modified: trunk/eio/src/lib/Makefile.am
>> ===================================================================
>> --- trunk/eio/src/lib/Makefile.am       2011-12-20 17:25:54 UTC (rev 66396)
>> +++ trunk/eio/src/lib/Makefile.am       2011-12-20 17:35:41 UTC (rev 66397)
>> @@ -16,6 +16,7 @@
>>  eio_dir.c \
>>  eio_monitor.c \
>>  eio_poll.c \
>> +eio_map.c \
>>  eio_xattr.c
>>
>>  if EIO_HAVE_INOTIFY
>>
>> Modified: trunk/eio/src/lib/eio_private.h
>> ===================================================================
>> --- trunk/eio/src/lib/eio_private.h     2011-12-20 17:25:54 UTC (rev 66396)
>> +++ trunk/eio/src/lib/eio_private.h     2011-12-20 17:35:41 UTC (rev 66397)
>> @@ -51,6 +51,8 @@
>>
>>  #define EIO_PACKED_TIME 0.003
>>
>> +typedef struct _Eio_File_Map Eio_File_Map;
>> +typedef struct _Eio_File_Map_Rule Eio_File_Map_Rule;
>>  typedef struct _Eio_File_Ls Eio_File_Ls;
>>  typedef struct _Eio_File_Direct_Ls Eio_File_Direct_Ls;
>>  typedef struct _Eio_File_Char_Ls Eio_File_Char_Ls;
>> @@ -109,6 +111,30 @@
>>    } worker, main;
>>  };
>>
>> +struct _Eio_File_Map
>> +{
>> +   Eio_File common;
>> +
>> +   Eio_Open_Cb open_cb;
>> +   const char *name;
>> +   Eina_Bool shared;
>> +
>> +   Eina_File *result;
>> +};
>> +
>> +struct _Eio_File_Map_Rule
>> +{
>> +   Eio_File common;
>> +   Eio_Filter_Map_Cb filter_cb;
>> +   Eio_Map_Cb map_cb;
>> +   Eina_File_Populate rule;
>> +
>> +   unsigned long int offset;
>> +   unsigned long int length;
>> +
>> +   void *result;
>> +};
>> +
>>  struct _Eio_File_Ls
>>  {
>>    Eio_File common;
>>
>>
>> ------------------------------------------------------------------------------
>> Write once. Port to many.
>> Get the SDK and tools to simplify cross-platform app development. Create
>> new or port existing apps to sell to consumers worldwide. Explore the
>> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
>> http://p.sf.net/sfu/intel-appdev
>> _______________________________________________
>> enlightenment-svn mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
> ------------------------------------------------------------------------------
> Write once. Port to many.
> Get the SDK and tools to simplify cross-platform app development. Create
> new or port existing apps to sell to consumers worldwide. Explore the
> Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
> http://p.sf.net/sfu/intel-appdev
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Cedric BAIL

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to