
Efl_Loop *_efl_loop_consumer_loop_get(const Eo *obj, Efl_Loop_Consumer_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_loop_get, Efl_Loop *, NULL);

Eina_Future *_efl_loop_consumer_future_resolved(const Eo *obj, Efl_Loop_Consumer_Data *pd, Eina_Value result);

EAPI EAPI_WEAK EFL_FUNC_BODYV_CONST(efl_loop_future_resolved, Eina_Future *, NULL, EFL_FUNC_CALL(result), Eina_Value result);

Eina_Future *_efl_loop_consumer_future_rejected(const Eo *obj, Efl_Loop_Consumer_Data *pd, Eina_Error error);

EAPI EAPI_WEAK EFL_FUNC_BODYV_CONST(efl_loop_future_rejected, Eina_Future *, NULL, EFL_FUNC_CALL(error), Eina_Error error);

Eina_Promise *_efl_loop_consumer_promise_new(const Eo *obj, Efl_Loop_Consumer_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_loop_promise_new, Eina_Promise *, NULL);

void _efl_loop_consumer_efl_object_parent_set(Eo *obj, Efl_Loop_Consumer_Data *pd, Efl_Object *parent);


static Eina_Bool
_efl_loop_consumer_class_initializer(Efl_Class *klass)
{
   const Efl_Object_Ops *opsp = NULL;

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_LOOP_CONSUMER_EXTRA_OPS
#define EFL_LOOP_CONSUMER_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_loop_get, _efl_loop_consumer_loop_get),
      EFL_OBJECT_OP_FUNC(efl_loop_future_resolved, _efl_loop_consumer_future_resolved),
      EFL_OBJECT_OP_FUNC(efl_loop_future_rejected, _efl_loop_consumer_future_rejected),
      EFL_OBJECT_OP_FUNC(efl_loop_promise_new, _efl_loop_consumer_promise_new),
      EFL_OBJECT_OP_FUNC(efl_parent_set, _efl_loop_consumer_efl_object_parent_set),
      EFL_LOOP_CONSUMER_EXTRA_OPS
   );
   opsp = &ops;

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_loop_consumer_class_desc = {
   EO_VERSION,
   "Efl.Loop_Consumer",
   EFL_CLASS_TYPE_REGULAR_NO_INSTANT,
   sizeof(Efl_Loop_Consumer_Data),
   _efl_loop_consumer_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_loop_consumer_class_get, &_efl_loop_consumer_class_desc, EFL_OBJECT_CLASS, NULL);
