forked from enlightenment/efl
eio: add an internal function for getting xattr in bulk.
This commit is contained in:
parent
5579d2f5cd
commit
c6e145da2d
|
@ -545,6 +545,11 @@ Eio_File * _eio_dir_stat_ls(const char *dir,
|
||||||
Eio_Done_Cb done_cb,
|
Eio_Done_Cb done_cb,
|
||||||
Eio_Error_Cb error_cb,
|
Eio_Error_Cb error_cb,
|
||||||
const void *data);
|
const void *data);
|
||||||
|
Eio_File * _eio_file_xattr(const char *path,
|
||||||
|
Eio_Array_Cb main_internal_cb,
|
||||||
|
Eio_Done_Cb done_cb,
|
||||||
|
Eio_Error_Cb error_cb,
|
||||||
|
const void *data);
|
||||||
|
|
||||||
// Sharing notifier between recursive and non recursive code.
|
// Sharing notifier between recursive and non recursive code.
|
||||||
void _eio_string_notify(void *data, Ecore_Thread *thread EINA_UNUSED, void *msg_data);
|
void _eio_string_notify(void *data, Ecore_Thread *thread EINA_UNUSED, void *msg_data);
|
||||||
|
|
|
@ -305,27 +305,36 @@ _eio_file_xattr_setup_set(Eio_File_Xattr *async,
|
||||||
* API *
|
* API *
|
||||||
*============================================================================*/
|
*============================================================================*/
|
||||||
|
|
||||||
EAPI Eio_File *
|
static Eio_File *
|
||||||
eio_file_xattr(const char *path,
|
_eio_file_internal_xattr(const char *path,
|
||||||
Eio_Filter_Cb filter_cb,
|
Eio_Filter_Cb filter_cb,
|
||||||
Eio_Main_Cb main_cb,
|
Eio_Main_Cb main_cb,
|
||||||
Eio_Done_Cb done_cb,
|
Eio_Array_Cb main_internal_cb,
|
||||||
Eio_Error_Cb error_cb,
|
Eio_Done_Cb done_cb,
|
||||||
const void *data)
|
Eio_Error_Cb error_cb,
|
||||||
|
const void *data)
|
||||||
{
|
{
|
||||||
Eio_File_Char_Ls *async;
|
Eio_File_Char_Ls *async;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(path, 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(done_cb, NULL);
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(error_cb, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(error_cb, NULL);
|
||||||
|
|
||||||
async = calloc(1, sizeof (Eio_File_Char_Ls));
|
async = eio_common_alloc(sizeof (Eio_File_Char_Ls));
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(async, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(async, NULL);
|
||||||
|
|
||||||
async->filter_cb = filter_cb;
|
|
||||||
async->main_cb = main_cb;
|
|
||||||
async->ls.directory = eina_stringshare_add(path);
|
async->ls.directory = eina_stringshare_add(path);
|
||||||
|
async->filter_cb = filter_cb;
|
||||||
|
|
||||||
|
if (main_internal_cb)
|
||||||
|
{
|
||||||
|
async->main_internal_cb = main_internal_cb;
|
||||||
|
async->ls.gather = EINA_TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
async->main_cb = main_cb;
|
||||||
|
}
|
||||||
|
|
||||||
if (!eio_long_file_set(&async->ls.common,
|
if (!eio_long_file_set(&async->ls.common,
|
||||||
done_cb,
|
done_cb,
|
||||||
|
@ -340,6 +349,31 @@ eio_file_xattr(const char *path,
|
||||||
return &async->ls.common;
|
return &async->ls.common;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI Eio_File *
|
||||||
|
eio_file_xattr(const char *path,
|
||||||
|
Eio_Filter_Cb filter_cb,
|
||||||
|
Eio_Main_Cb main_cb,
|
||||||
|
Eio_Done_Cb done_cb,
|
||||||
|
Eio_Error_Cb error_cb,
|
||||||
|
const void *data)
|
||||||
|
{
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(main_cb, NULL);
|
||||||
|
|
||||||
|
return _eio_file_internal_xattr(path, filter_cb, main_cb, NULL, done_cb, error_cb, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
Eio_File *
|
||||||
|
_eio_file_xattr(const char *path,
|
||||||
|
Eio_Array_Cb main_internal_cb,
|
||||||
|
Eio_Done_Cb done_cb,
|
||||||
|
Eio_Error_Cb error_cb,
|
||||||
|
const void *data)
|
||||||
|
{
|
||||||
|
EINA_SAFETY_ON_NULL_RETURN_VAL(main_internal_cb, NULL);
|
||||||
|
|
||||||
|
return _eio_file_internal_xattr(path, NULL, NULL, main_internal_cb, done_cb, error_cb, data);
|
||||||
|
}
|
||||||
|
|
||||||
EAPI Eio_File *
|
EAPI Eio_File *
|
||||||
eio_file_xattr_get(const char *path,
|
eio_file_xattr_get(const char *path,
|
||||||
const char *attribute,
|
const char *attribute,
|
||||||
|
|
Loading…
Reference in New Issue