> efl_future_Eina_FutureXXX_then(data, f); now must rename these efl_future_Eina_FutureXXX_then() helpers to efl_future_then().
Worth remembering: efl_future_then() is the one that links/binds an object to the future, if the object dies, then the futures are cancelled. After that we need to ping q66 to change future<Type> to the new Eina_Future: - if <Type>, then provide a type to be checked by efl_future_then_easy() - all properties/methods generated by eolian should apply efl_future_then() (or variant) to their result. This enforces the object is linked with the future. Maybe make this explicit (ie: @bound(future<Type>)) or explicitly disable (@unbond(future<Type>), my preference since it's less common). then you can remove those from code, I tried to mark all of them, see: https://git.enlightenment.org/core/efl.git/tree/src/lib/ecore/ecore_main.c#n3217 In a next-usability step, we should have Eolian to generate Eina_Value_Struct_Desc for Type. This is required for validators AND for users of the struct, which could use the "mem" field with a cast OR use eina_value_struct_... method. and I just noticed that eina_future_then_easy() (and efl_... variant) will not check for the struct desc, just type comparison (which is "struct", but not "which struct"), so likely extend Eina_Future_Cb_Easy_Desc with: union { const Eina_Value_Struct_Desc *struct_desc; const Eina_Value_Type *subtype; // array, list, hash }; this way, the easy validator would do extended checks for those types. Eolian has the info to generate those, as we have builtin types. I recall eina_future_race uses a custom struct and can serve as base for such work. -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (16) 99354-9890 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel