efl/src
Felipe Magno de Almeida 09eea7bc01 eina: add promise
Add a promise object that will allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.

To understand better, let see the coming usage in a .eo file:

class Foo {
   methods {
      bar {
         params {
            @inout promise: Promise<int>;
         }
      }
   }
}

Which will create the following API interface:

void foo_bar(Eo* obj, Eina_Promise** promise);

and the equivalent declaration for implementation.

However, the API function will instantiate the Promise for the user
and the implementer of the class automatically. So the user of this
function will treat it as a @out parameter, while the developer of the
function will treat it like a @inout parameter.

So, the user will use this function like this:

Eina_Promise* promise; // No need to instantiate
foo_bar(obj, &promise);
eina_promise_then(promise, callback);

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-05 11:35:12 -07:00
..
benchmarks Revert "Automatic migration to the new eo_add syntax." 2016-03-11 12:29:03 +00:00
bin support elm_object_item_style_set/get on genlist items 2016-04-01 16:53:57 +09:00
bindings eolian: add APIs to get all things of each type 2016-03-29 15:01:17 +01:00
edje_external elementary: add edje_external back in. 2016-03-31 19:45:26 -07:00
examples Examples: remind Tom to compile before pushing 2016-03-29 09:49:52 +03:00
lib eina: add promise 2016-04-05 11:35:12 -07:00
modules evas-wayland-shm: Update copyright notice 2016-04-05 07:44:19 -04:00
scripts elementary: enable lua binding gen 2016-03-29 11:23:43 +01:00
static_libs Evas: Add SW engine map/unmap functions 2016-03-28 16:40:01 +09:00
tests eolian: Fix test cases 2016-04-05 20:44:57 +09:00
utils/ecore efl: add binary mode to f(re)open() calls 2015-12-05 21:04:36 +01:00
Makefile.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_EPhysics.am
Makefile_Ecore.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Ecore_Audio.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Ecore_Audio_Cxx.am
Makefile_Ecore_Avahi.am
Makefile_Ecore_Buffer.am
Makefile_Ecore_Cocoa.am ecore_cocoa: move Ecore_Cocoa_Cursor.h in Ecore_Cocoa.h 2016-03-02 13:56:35 -08:00
Makefile_Ecore_Con.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Ecore_Cxx.am Test rework #3: Ecore_Cxx 2016-02-16 12:41:06 +00:00
Makefile_Ecore_Drm.am ecore_drm: fix out of source tree compilation 2015-12-23 17:43:22 +01:00
Makefile_Ecore_Evas.am ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code 2015-12-03 12:02:40 -05:00
Makefile_Ecore_FB.am
Makefile_Ecore_File.am
Makefile_Ecore_IMF.am ecore-imf-wayland: Port ecore_imf_wayland to use Ecore_Wl2 2015-12-03 12:02:40 -05:00
Makefile_Ecore_IMF_Evas.am
Makefile_Ecore_Input.am
Makefile_Ecore_Input_Evas.am
Makefile_Ecore_Ipc.am
Makefile_Ecore_Js.am efl js: Fix naming of manual binding functions. 2016-03-18 17:47:09 -03:00
Makefile_Ecore_Psl1ght.am
Makefile_Ecore_SDL.am
Makefile_Ecore_Wayland.am
Makefile_Ecore_Win32.am
Makefile_Ecore_Wl2.am ecore_wl2: implement www extension for client-side use 2016-04-01 06:49:49 -04:00
Makefile_Ecore_X.am ecore-xcb: Implement missing keyrouter and keygrab functions for xcb 2016-04-04 11:01:48 -04:00
Makefile_Ector.am ector: do not put ector_types.eot into the list of to be cleaned files. 2016-03-28 15:17:54 -07:00
Makefile_Edje.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Edje_Cxx.am
Makefile_Edje_Helper.am
Makefile_Eet.am Test rework #6: Eet 2016-02-16 12:41:06 +00:00
Makefile_Eet_Cxx.am Test rework #6: Eet_Cxx 2016-02-16 12:41:06 +00:00
Makefile_Eet_Helper.am elementary: add config back in. 2016-03-30 14:15:15 -07:00
Makefile_Eeze.am Test rework #7: Eeze 2016-02-16 12:41:06 +00:00
Makefile_Efl.am efl: vpath subsystem 2016-04-05 16:22:59 +09:00
Makefile_Efl_Cxx.am
Makefile_Efl_Js.am efl-js: JavaScript Eolian binding 2015-12-23 23:59:40 -02:00
Makefile_Efreet.am
Makefile_Eina.am eina: add promise 2016-04-05 11:35:12 -07:00
Makefile_Eina_Cxx.am tests: add dependency on simple.eo.hh for new eina_cxx iterator test 2016-03-23 16:55:03 +01:00
Makefile_Eio.am
Makefile_Eio_Cxx.am
Makefile_Eldbus.am build: make sure eldbus_eolian_type_files lands in a tarball for distcheck 2016-02-18 14:27:35 +01:00
Makefile_Eldbus_Cxx.am Test rework #14: ElDbus_Cxx 2016-02-16 12:41:06 +00:00
Makefile_Elementary.am elementary: add edje_external back in. 2016-03-31 19:45:26 -07:00
Makefile_Elementary_Cxx.am elementary: add back C++ generated binding. 2016-03-28 16:16:15 -07:00
Makefile_Elocation.am eldbus: add efl.model implementation. 2015-12-10 12:02:30 -08:00
Makefile_Elua.am
Makefile_Elua_Helper.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Embryo.am
Makefile_Emile.am Test rework #16: Emile 2016-02-16 12:41:06 +00:00
Makefile_Emotion.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Eo.am Eo: Implement the fallback eo_add implementation. 2016-03-29 16:01:52 +01:00
Makefile_Eo_Cxx.am
Makefile_Eolian.am tests eolian: add test cases for type stub generations 2016-03-08 11:14:56 +01:00
Makefile_Eolian_Cxx.am Test rework #19: Eolian_Cxx 2016-02-16 12:41:06 +00:00
Makefile_Eolian_Cxx_Helper.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Eolian_Helper.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Eolian_Js.am efl js: Add clean up callbacks to deallocate memory used in v8::External 2016-03-18 17:47:09 -03:00
Makefile_Eolian_Js_Helper.am build: keep our CLEANFILES tidy to avoid argument list too long during clean 2016-03-31 16:29:32 +02:00
Makefile_Escape.am
Makefile_Ethumb.am
Makefile_Ethumb_Client.am
Makefile_Evas.am evas-wayland-egl: Add www protocol handling to wayland-egl engine 2016-04-01 06:49:50 -04:00
Makefile_Evas_Cxx.am Evas: Fix the build... I hope 2016-01-06 17:56:01 +09:00
Makefile_Evil.am Evil: integrate the dlfcn code into Evil 2015-12-29 22:13:58 +09:00