forked from enlightenment/efl
parent
ebf52e3f5f
commit
0a4134fd5f
|
@ -83,7 +83,7 @@ typedef void (*Eio_Stat_Cb)(const void *data, const struct stat *stat);
|
|||
typedef void (*Eio_Progress_Cb)(const void *data, const Eio_Progress *info);
|
||||
|
||||
typedef void (*Eio_Done_Cb)(const void *data);
|
||||
typedef void (*Eio_Error_Cb)(int errno, const void *data);
|
||||
typedef void (*Eio_Error_Cb)(int error, const void *data);
|
||||
|
||||
struct _Eio_Progress
|
||||
{
|
||||
|
@ -99,64 +99,64 @@ EAPI Eio_File *eio_file_ls(const char *dir,
|
|||
Eio_Filter_Cb filter_cb,
|
||||
Eio_Main_Cb main_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_file_direct_ls(const char *dir,
|
||||
Eio_Filter_Direct_Cb filter_cb,
|
||||
Eio_Main_Direct_Cb main_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_file_direct_stat(const char *path,
|
||||
Eio_Stat_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_file_unlink(const char *path,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_file_mkdir(const char *path,
|
||||
mode_t mode,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_file_move(const char *source,
|
||||
const char *dest,
|
||||
Eio_Progress_Cb progress_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_file_copy(const char *source,
|
||||
const char *dest,
|
||||
Eio_Progress_Cb progress_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_dir_move(const char *source,
|
||||
const char *dest,
|
||||
Eio_Progress_Cb progress_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_dir_copy(const char *source,
|
||||
const char *dest,
|
||||
Eio_Progress_Cb progress_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eio_File *eio_dir_unlink(const char *path,
|
||||
Eio_Progress_Cb progress_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data);
|
||||
|
||||
EAPI Eina_Bool eio_file_cancel(Eio_File *ls);
|
||||
|
|
|
@ -185,7 +185,7 @@ eio_file_ls(const char *dir,
|
|||
Eio_Filter_Cb filter_cb,
|
||||
Eio_Main_Cb main_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data)
|
||||
{
|
||||
Eio_File_Char_Ls *async = NULL;
|
||||
|
@ -230,7 +230,7 @@ eio_file_direct_ls(const char *dir,
|
|||
Eio_Filter_Direct_Cb filter_cb,
|
||||
Eio_Main_Direct_Cb main_cb,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data)
|
||||
{
|
||||
Eio_File_Direct_Ls *async = NULL;
|
||||
|
|
|
@ -21,8 +21,10 @@ struct _Eio_File
|
|||
Ecore_Thread *thread;
|
||||
const void *data;
|
||||
|
||||
int error;
|
||||
|
||||
Eio_Error_Cb error_cb;
|
||||
Eio_Done_Cb done_cb;
|
||||
Eio_Done_Cb error_cb;
|
||||
};
|
||||
|
||||
struct _Eio_File_Ls
|
||||
|
@ -72,17 +74,19 @@ struct _Eio_File_Stat
|
|||
const char *path;
|
||||
};
|
||||
|
||||
/* Be aware that ecore_thread_run could call cancel_cb if something goes wrong. */
|
||||
Eina_Bool eio_file_set(Eio_File *common,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data,
|
||||
Ecore_Cb job_cb,
|
||||
Ecore_Cb end_cb,
|
||||
Ecore_Cb cancel_cb);
|
||||
|
||||
/* Be aware that ecore_thread_run could call cancel_cb if something goes wrong. */
|
||||
Eina_Bool eio_long_file_set(Eio_File *common,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data,
|
||||
Ecore_Thread_Heavy_Cb heavy_cb,
|
||||
Ecore_Thread_Notify_Cb notify_cb,
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#include "eio_private.h"
|
||||
|
||||
#include "Eio.h"
|
||||
|
@ -31,19 +33,20 @@ void
|
|||
eio_file_error(Eio_File *common)
|
||||
{
|
||||
if (common->error_cb)
|
||||
common->error_cb(common->data);
|
||||
common->error_cb(common->error, common->data);
|
||||
}
|
||||
|
||||
void
|
||||
eio_file_thread_error(Eio_File *common)
|
||||
{
|
||||
common->error = errno;
|
||||
ecore_thread_cancel(common->thread);
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
eio_long_file_set(Eio_File *common,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data,
|
||||
Ecore_Thread_Heavy_Cb heavy_cb,
|
||||
Ecore_Thread_Notify_Cb notify_cb,
|
||||
|
@ -55,7 +58,9 @@ eio_long_file_set(Eio_File *common,
|
|||
common->done_cb = done_cb;
|
||||
common->error_cb = error_cb;
|
||||
common->data = data;
|
||||
common->error = 0;
|
||||
|
||||
/* Be aware that ecore_thread_run could call cancel_cb if something goes wrong. */
|
||||
thread = ecore_long_run(heavy_cb,
|
||||
notify_cb,
|
||||
end_cb,
|
||||
|
@ -71,7 +76,7 @@ eio_long_file_set(Eio_File *common,
|
|||
Eina_Bool
|
||||
eio_file_set(Eio_File *common,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data,
|
||||
Ecore_Cb job_cb,
|
||||
Ecore_Cb end_cb,
|
||||
|
@ -82,6 +87,9 @@ eio_file_set(Eio_File *common,
|
|||
common->done_cb = done_cb;
|
||||
common->error_cb = error_cb;
|
||||
common->data = data;
|
||||
common->error = 0;
|
||||
|
||||
/* Be aware that ecore_thread_run could call cancel_cb if something goes wrong. */
|
||||
thread = ecore_thread_run(job_cb,
|
||||
end_cb,
|
||||
cancel_cb,
|
||||
|
@ -215,7 +223,7 @@ _eio_file_stat_error(void *data)
|
|||
EAPI Eio_File *
|
||||
eio_file_direct_stat(const char *path,
|
||||
Eio_Stat_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data)
|
||||
{
|
||||
Eio_File_Stat *s = NULL;
|
||||
|
@ -253,7 +261,7 @@ eio_file_direct_stat(const char *path,
|
|||
EAPI Eio_File *
|
||||
eio_file_unlink(const char *path,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data)
|
||||
{
|
||||
Eio_File_Unlink *l = NULL;
|
||||
|
@ -292,7 +300,7 @@ EAPI Eio_File *
|
|||
eio_file_mkdir(const char *path,
|
||||
mode_t mode,
|
||||
Eio_Done_Cb done_cb,
|
||||
Eio_Done_Cb error_cb,
|
||||
Eio_Error_Cb error_cb,
|
||||
const void *data)
|
||||
{
|
||||
Eio_File_Mkdir *r = NULL;
|
||||
|
|
Loading…
Reference in New Issue