
void _efl_ui_focus_util_focus(Efl_Ui_Focus_Object *focus_elem);

EAPI EAPI_WEAK void efl_ui_focus_util_focus(Efl_Ui_Focus_Object *focus_elem)
{
   const Efl_Class *klass = efl_ui_focus_util_class_get();
   EINA_SAFETY_ON_NULL_RETURN(klass);
   _efl_ui_focus_util_focus(focus_elem);
}

Efl_Ui_Focus_Manager *_efl_ui_focus_util_active_manager(Efl_Ui_Focus_Manager *manager);

EAPI EAPI_WEAK Efl_Ui_Focus_Manager * efl_ui_focus_util_active_manager(Efl_Ui_Focus_Manager *manager)
{
   const Efl_Class *klass = efl_ui_focus_util_class_get();
   EINA_SAFETY_ON_NULL_RETURN_VAL(klass,NULL);
   return _efl_ui_focus_util_active_manager(manager);
}

Efl_Ui_Focus_Direction _efl_ui_focus_util_direction_complement(Efl_Ui_Focus_Direction dir);

EAPI EAPI_WEAK Efl_Ui_Focus_Direction efl_ui_focus_util_direction_complement(Efl_Ui_Focus_Direction dir)
{
   const Efl_Class *klass = efl_ui_focus_util_class_get();
   EINA_SAFETY_ON_NULL_RETURN_VAL(klass,0);
   return _efl_ui_focus_util_direction_complement(dir);
}

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

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifdef EFL_UI_FOCUS_UTIL_EXTRA_OPS
   EFL_OPS_DEFINE(ops, EFL_UI_FOCUS_UTIL_EXTRA_OPS);
   opsp = &ops;
#endif

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_ui_focus_util_class_desc = {
   EO_VERSION,
   "Efl.Ui.Focus.Util",
   EFL_CLASS_TYPE_REGULAR,
   sizeof(Efl_Ui_Focus_Util_Data),
   _efl_ui_focus_util_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_ui_focus_util_class_get, &_efl_ui_focus_util_class_desc, EFL_OBJECT_CLASS, NULL);
