summaryrefslogtreecommitdiff
path: root/src/lib/eio
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2016-09-07 16:20:52 -0700
committerCedric BAIL <cedric@osg.samsung.com>2016-09-08 15:16:43 -0700
commit0c067fb62f58ae789722729c809bee9237aba315 (patch)
tree572dbd69f896b0811411bb58ef9fb0492f233529 /src/lib/eio
parentc6e145da2df8f607708effa31ddd5f5131878b54 (diff)
eio: implement efl_io_manager_xattr_ls
Diffstat (limited to 'src/lib/eio')
-rw-r--r--src/lib/eio/efl_io_manager.c38
1 files changed, 17 insertions, 21 deletions
diff --git a/src/lib/eio/efl_io_manager.c b/src/lib/eio/efl_io_manager.c
index c3c08095e9..fba276cf9a 100644
--- a/src/lib/eio/efl_io_manager.c
+++ b/src/lib/eio/efl_io_manager.c
@@ -405,32 +405,28 @@ _efl_io_manager_stat(Eo *obj,
405 405
406static Efl_Future * 406static Efl_Future *
407_efl_io_manager_xattr_ls(Eo *obj, 407_efl_io_manager_xattr_ls(Eo *obj,
408 Efl_Io_Manager_Data *pd, 408 Efl_Io_Manager_Data *pd EINA_UNUSED,
409 const char *path) 409 const char *path)
410{ 410{
411 // FIXME 411 Efl_Promise *p;
412#if 0 412 Eio_File *h;
413 Eina_Promise_Owner *promise = eina_promise_add();
414 Job_Closure *operation_data = _job_closure_create(obj, pd, promise);
415 413
416 Eina_Promise* p = eina_promise_owner_promise_get(promise); 414 p = efl_add(EFL_PROMISE_CLASS, obj);
417 if (!operation_data) 415 if (!p) return NULL;
418 { 416
419 EINA_LOG_CRIT("Failed to create eio job operation data."); 417 h = _eio_file_xattr(path,
420 eina_promise_owner_error_set(promise, eina_error_get()); 418 _file_string_cb,
421 eina_error_set(0); 419 _file_done_cb,
422 return p; 420 _file_error_cb,
423 } 421 p);
422 if (!h) goto end;
424 423
425 operation_data->delayed_arg = (char*)calloc(sizeof(char), strlen(path) + 1); 424 efl_event_callback_array_add(p, promise_progress_handling(), h);
426 strcpy(operation_data->delayed_arg, path); 425 return efl_promise_future_get(p);
427 426
428 eina_promise_owner_progress_notify(promise, 427 end:
429 _xattr_notify_start, 428 efl_del(p);
430 operation_data, 429 return NULL;
431 _free_notify_start_data);
432 return p;
433#endif
434} 430}
435 431
436static Efl_Future * 432static Efl_Future *