eio: change callback prototype.

SVN revision: 68265
This commit is contained in:
Cedric BAIL 2012-02-22 11:51:45 +00:00
parent ddbf4f1252
commit 422de4f2e5
3 changed files with 26 additions and 13 deletions

View File

@ -119,6 +119,7 @@ typedef Eina_Bool (*Eio_Filter_Cb)(void *data, Eio_File *handler, const char *fi
typedef void (*Eio_Main_Cb)(void *data, Eio_File *handler, const char *file);
typedef Eina_Bool (*Eio_Filter_Direct_Cb)(void *data, Eio_File *handler, const Eina_File_Direct_Info *info);
typedef Eina_Bool (*Eio_Filter_Dir_Cb)(void *data, Eio_File *handler, Eina_File_Direct_Info *info);
typedef void (*Eio_Main_Direct_Cb)(void *data, Eio_File *handler, const Eina_File_Direct_Info *info);
typedef void (*Eio_Stat_Cb)(void *data, Eio_File *handler, const struct stat *stat);
@ -238,7 +239,7 @@ EAPI Eio_File *eio_file_stat_ls(const char *dir,
* ecore_thread_feedback_run. This prevent any lock in your apps.
*/
EAPI Eio_File *eio_dir_stat_ls(const char *dir,
Eio_Filter_Direct_Cb filter_cb,
Eio_Filter_Dir_Cb filter_cb,
Eio_Main_Direct_Cb main_cb,
Eio_Done_Cb done_cb,
Eio_Error_Cb error_cb,
@ -258,7 +259,7 @@ EAPI Eio_File *eio_dir_stat_ls(const char *dir,
* ecore_thread_feedback_run. This prevent any lock in your apps.
*/
EAPI Eio_File *eio_dir_direct_ls(const char *dir,
Eio_Filter_Direct_Cb filter_cb,
Eio_Filter_Dir_Cb filter_cb,
Eio_Main_Direct_Cb main_cb,
Eio_Done_Cb done_cb,
Eio_Error_Cb error_cb,

View File

@ -669,9 +669,9 @@ _eio_dir_rmrf_heavy(void *data, Ecore_Thread *thread)
}
static Eina_Bool
_eio_dir_stat_find_forward(Eio_File_Direct_Ls *async,
_eio_dir_stat_find_forward(Eio_File_Dir_Ls *async,
Eio_File *handler,
const Eina_File_Direct_Info *info)
Eina_File_Direct_Info *info)
{
Eina_Bool filter = EINA_TRUE;
double current;
@ -714,7 +714,7 @@ _eio_dir_stat_find_forward(Eio_File_Direct_Ls *async,
static void
_eio_dir_stat_find_heavy(void *data, Ecore_Thread *thread)
{
Eio_File_Direct_Ls *async = data;
Eio_File_Dir_Ls *async = data;
async->ls.common.thread = thread;
async->pack = NULL;
@ -732,7 +732,7 @@ _eio_dir_stat_find_heavy(void *data, Ecore_Thread *thread)
static void
_eio_dir_direct_find_heavy(void *data, Ecore_Thread *thread)
{
Eio_File_Direct_Ls *async = data;
Eio_File_Dir_Ls *async = data;
async->ls.common.thread = thread;
async->pack = NULL;
@ -750,7 +750,7 @@ _eio_dir_direct_find_heavy(void *data, Ecore_Thread *thread)
static void
_eio_dir_stat_find_notify(void *data, Ecore_Thread *thread __UNUSED__, void *msg_data)
{
Eio_File_Direct_Ls *async = data;
Eio_File_Dir_Ls *async = data;
Eina_List *pack = msg_data;
Eio_File_Direct_Info *info;
@ -929,20 +929,20 @@ eio_dir_unlink(const char *path,
EAPI Eio_File *
eio_dir_stat_ls(const char *dir,
Eio_Filter_Direct_Cb filter_cb,
Eio_Filter_Dir_Cb filter_cb,
Eio_Main_Direct_Cb main_cb,
Eio_Done_Cb done_cb,
Eio_Error_Cb error_cb,
const void *data)
{
Eio_File_Direct_Ls *async;
Eio_File_Dir_Ls *async;
EINA_SAFETY_ON_NULL_RETURN_VAL(dir, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(main_cb, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(done_cb, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(error_cb, NULL);
async = malloc(sizeof(Eio_File_Direct_Ls));
async = malloc(sizeof(Eio_File_Dir_Ls));
EINA_SAFETY_ON_NULL_RETURN_VAL(async, NULL);
async->filter_cb = filter_cb;
@ -964,20 +964,20 @@ eio_dir_stat_ls(const char *dir,
EAPI Eio_File *
eio_dir_direct_ls(const char *dir,
Eio_Filter_Direct_Cb filter_cb,
Eio_Filter_Dir_Cb filter_cb,
Eio_Main_Direct_Cb main_cb,
Eio_Done_Cb done_cb,
Eio_Error_Cb error_cb,
const void *data)
{
Eio_File_Direct_Ls *async;
Eio_File_Dir_Ls *async;
EINA_SAFETY_ON_NULL_RETURN_VAL(dir, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(main_cb, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(done_cb, NULL);
EINA_SAFETY_ON_NULL_RETURN_VAL(error_cb, NULL);
async = malloc(sizeof(Eio_File_Direct_Ls));
async = malloc(sizeof(Eio_File_Dir_Ls));
EINA_SAFETY_ON_NULL_RETURN_VAL(async, NULL);
async->filter_cb = filter_cb;

View File

@ -60,6 +60,7 @@ 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_Dir_Ls Eio_File_Dir_Ls;
typedef struct _Eio_File_Char_Ls Eio_File_Char_Ls;
typedef struct _Eio_File_Mkdir Eio_File_Mkdir;
typedef struct _Eio_File_Mkdir Eio_File_Chmod;
@ -234,6 +235,17 @@ struct _Eio_File_Direct_Ls
double start;
};
struct _Eio_File_Dir_Ls
{
Eio_File_Ls ls;
Eio_Filter_Dir_Cb filter_cb;
Eio_Main_Direct_Cb main_cb;
Eina_List *pack;
double start;
};
struct _Eio_File_Char_Ls
{
Eio_File_Ls ls;