EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_PAUSE =
   EFL_EVENT_DESCRIPTION("pause");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_RESUME =
   EFL_EVENT_DESCRIPTION("resume");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_STANDBY =
   EFL_EVENT_DESCRIPTION("standby");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_TERMINATE =
   EFL_EVENT_DESCRIPTION("terminate");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_SIGNAL_USR1 =
   EFL_EVENT_DESCRIPTION("signal,usr1");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_SIGNAL_USR2 =
   EFL_EVENT_DESCRIPTION("signal,usr2");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_APP_EVENT_SIGNAL_HUP =
   EFL_EVENT_DESCRIPTION("signal,hup");

Efl_App *_efl_app_app_main_get(void);

EAPI EAPI_WEAK Efl_App * efl_app_main_get(void)
{
   const Efl_Class *klass = efl_app_class_get();
   EINA_SAFETY_ON_NULL_RETURN_VAL(klass,NULL);
   return _efl_app_app_main_get();
}

const Efl_Version *_efl_app_build_efl_version_get(const Eo *obj, void *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_app_build_efl_version_get, const Efl_Version *, NULL);

const Efl_Version *_efl_app_efl_version_get(const Eo *obj, void *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_app_efl_version_get, const Efl_Version *, NULL);

void _efl_app_efl_task_priority_set(Eo *obj, void *pd, Efl_Task_Priority priority);


Efl_Task_Priority _efl_app_efl_task_priority_get(const Eo *obj, void *pd);


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

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_APP_EXTRA_OPS
#define EFL_APP_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_app_build_efl_version_get, _efl_app_build_efl_version_get),
      EFL_OBJECT_OP_FUNC(efl_app_efl_version_get, _efl_app_efl_version_get),
      EFL_OBJECT_OP_FUNC(efl_task_priority_set, _efl_app_efl_task_priority_set),
      EFL_OBJECT_OP_FUNC(efl_task_priority_get, _efl_app_efl_task_priority_get),
      EFL_APP_EXTRA_OPS
   );
   opsp = &ops;

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_app_class_desc = {
   EO_VERSION,
   "Efl.App",
   EFL_CLASS_TYPE_REGULAR_NO_INSTANT,
   0,
   _efl_app_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_app_class_get, &_efl_app_class_desc, EFL_LOOP_CLASS, EFL_CORE_COMMAND_LINE_MIXIN, NULL);
