cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0c067fb62f58ae789722729c809bee9237aba315

commit 0c067fb62f58ae789722729c809bee9237aba315
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Wed Sep 7 16:20:52 2016 -0700

    eio: implement efl_io_manager_xattr_ls
---
 src/lib/eio/efl_io_manager.c | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/src/lib/eio/efl_io_manager.c b/src/lib/eio/efl_io_manager.c
index c3c0809..fba276c 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,
 
 static Efl_Future *
 _efl_io_manager_xattr_ls(Eo *obj,
-                         Efl_Io_Manager_Data *pd,
+                         Efl_Io_Manager_Data *pd EINA_UNUSED,
                          const char *path)
 {
-   // FIXME
-#if 0
-   Eina_Promise_Owner *promise = eina_promise_add();
-   Job_Closure *operation_data = _job_closure_create(obj, pd, promise);
+   Efl_Promise *p;
+   Eio_File *h;
 
-   Eina_Promise* p = eina_promise_owner_promise_get(promise);
-   if (!operation_data)
-     {
-        EINA_LOG_CRIT("Failed to create eio job operation data.");
-        eina_promise_owner_error_set(promise, eina_error_get());
-        eina_error_set(0);
-        return p;
-     }
+   p = efl_add(EFL_PROMISE_CLASS, obj);
+   if (!p) return NULL;
+
+   h = _eio_file_xattr(path,
+                       _file_string_cb,
+                       _file_done_cb,
+                       _file_error_cb,
+                       p);
+   if (!h) goto end;
 
-   operation_data->delayed_arg = (char*)calloc(sizeof(char), strlen(path) + 1);
-   strcpy(operation_data->delayed_arg, path);
+   efl_event_callback_array_add(p, promise_progress_handling(), h);
+   return efl_promise_future_get(p);
 
-   eina_promise_owner_progress_notify(promise,
-      _xattr_notify_start,
-      operation_data,
-      _free_notify_start_data);
-   return p;
-#endif
+ end:
+   efl_del(p);
+   return NULL;
 }
 
 static Efl_Future *

-- 


Reply via email to