EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED =
   EFL_EVENT_DESCRIPTION("property,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_CHILDREN_CHANGED =
   EFL_EVENT_DESCRIPTION("children,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_STATE_CHANGED =
   EFL_EVENT_DESCRIPTION("state,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_BOUNDS_CHANGED =
   EFL_EVENT_DESCRIPTION("bounds,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_VISIBLE_DATA_CHANGED =
   EFL_EVENT_DESCRIPTION("visible,data,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_ACTIVE_DESCENDANT_CHANGED =
   EFL_EVENT_DESCRIPTION("active,descendant,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_ADDED =
   EFL_EVENT_DESCRIPTION("added");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_ACCESS_OBJECT_EVENT_REMOVED =
   EFL_EVENT_DESCRIPTION("removed");

const char *_efl_access_object_localized_role_name_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_localized_role_name_get_reflect(const Eo *obj)
{
   const char *val = efl_access_object_localized_role_name_get(obj);
   return eina_value_string_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_localized_role_name_get, const char *, NULL);

void _efl_access_object_i18n_name_set(Eo *obj, Efl_Access_Object_Data *pd, const char *i18n_name);


static Eina_Error
__eolian_efl_access_object_i18n_name_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   const char *cval;
   if (!eina_value_string_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_access_object_i18n_name_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_i18n_name_set, EFL_FUNC_CALL(i18n_name), const char *i18n_name);

const char *_efl_access_object_i18n_name_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_i18n_name_get_reflect(const Eo *obj)
{
   const char *val = efl_access_object_i18n_name_get(obj);
   return eina_value_string_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_i18n_name_get, const char *, NULL);

Eina_Iterator *_efl_access_object_relations_get(const Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_relations_get, Eina_Iterator *, NULL);

void _efl_access_object_role_set(Eo *obj, Efl_Access_Object_Data *pd, Efl_Access_Role role);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_role_set, EFL_FUNC_CALL(role), Efl_Access_Role role);

Efl_Access_Role _efl_access_object_role_get(const Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_role_get, Efl_Access_Role, 0);

Eina_List *_efl_access_object_access_children_get(const Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_access_children_get, Eina_List *, NULL);

const char *_efl_access_object_role_name_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_role_name_get_reflect(const Eo *obj)
{
   const char *val = efl_access_object_role_name_get(obj);
   return eina_value_string_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_role_name_get, const char *, NULL);

Eina_List *_efl_access_object_attributes_get(const Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_attributes_get, Eina_List *, NULL);

void _efl_access_object_attribute_append(Eo *obj, Efl_Access_Object_Data *pd, const char *key, const char *value);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_attribute_append, EFL_FUNC_CALL(key, value), const char *key, const char *value);

void _efl_access_object_attribute_del(Eo *obj, Efl_Access_Object_Data *pd, const char *key);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_attribute_del, EFL_FUNC_CALL(key), const char *key);

void _efl_access_object_attributes_clear(Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODY(efl_access_object_attributes_clear);

void _efl_access_object_reading_info_type_set(Eo *obj, Efl_Access_Object_Data *pd, Efl_Access_Reading_Info_Type reading_info);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_reading_info_type_set, EFL_FUNC_CALL(reading_info), Efl_Access_Reading_Info_Type reading_info);

Efl_Access_Reading_Info_Type _efl_access_object_reading_info_type_get(const Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_reading_info_type_get, Efl_Access_Reading_Info_Type, 0);

int _efl_access_object_index_in_parent_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_index_in_parent_get_reflect(const Eo *obj)
{
   int val = efl_access_object_index_in_parent_get(obj);
   return eina_value_int_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_index_in_parent_get, int, 0);

void _efl_access_object_description_set(Eo *obj, Efl_Access_Object_Data *pd, const char *description);


static Eina_Error
__eolian_efl_access_object_description_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   const char *cval;
   if (!eina_value_string_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_access_object_description_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_description_set, EFL_FUNC_CALL(description), const char *description);

const char *_efl_access_object_description_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_description_get_reflect(const Eo *obj)
{
   const char *val = efl_access_object_description_get(obj);
   return eina_value_string_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_description_get, const char *, NULL);

Efl_Access_State_Set _efl_access_object_state_set_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_state_set_get_reflect(const Eo *obj)
{
   Efl_Access_State_Set val = efl_access_object_state_set_get(obj);
   return eina_value_uint64_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_state_set_get, Efl_Access_State_Set, 0);

Efl_Access_Event_Handler *_efl_access_object_event_handler_add(Efl_Event_Cb cb, void *data);

EAPI EAPI_WEAK Efl_Access_Event_Handler * efl_access_object_event_handler_add(Efl_Event_Cb cb, void *data)
{
   const Efl_Class *klass = efl_access_object_mixin_get();
   EINA_SAFETY_ON_NULL_RETURN_VAL(klass,NULL);
   return _efl_access_object_event_handler_add(cb, data);
}

void _efl_access_object_event_handler_del(Efl_Access_Event_Handler *handler);

EAPI EAPI_WEAK void efl_access_object_event_handler_del(Efl_Access_Event_Handler *handler)
{
   const Efl_Class *klass = efl_access_object_mixin_get();
   EINA_SAFETY_ON_NULL_RETURN(klass);
   _efl_access_object_event_handler_del(handler);
}

void _efl_access_object_event_emit(Efl_Access_Object *accessible, const Efl_Event_Description *event, void *event_info);

EAPI EAPI_WEAK void efl_access_object_event_emit(Efl_Access_Object *accessible, const Efl_Event_Description *event, void *event_info)
{
   const Efl_Class *klass = efl_access_object_mixin_get();
   EINA_SAFETY_ON_NULL_RETURN(klass);
   _efl_access_object_event_emit(accessible, event, event_info);
}

void _efl_access_object_translation_domain_set(Eo *obj, Efl_Access_Object_Data *pd, const char *domain);


static Eina_Error
__eolian_efl_access_object_translation_domain_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   const char *cval;
   if (!eina_value_string_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_access_object_translation_domain_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_translation_domain_set, EFL_FUNC_CALL(domain), const char *domain);

const char *_efl_access_object_translation_domain_get(const Eo *obj, Efl_Access_Object_Data *pd);


static Eina_Value
__eolian_efl_access_object_translation_domain_get_reflect(const Eo *obj)
{
   const char *val = efl_access_object_translation_domain_get(obj);
   return eina_value_string_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_translation_domain_get, const char *, NULL);

void _efl_access_object_access_type_set(Eo *obj, Efl_Access_Object_Data *pd, Efl_Access_Type type);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_access_type_set, EFL_FUNC_CALL(type), Efl_Access_Type type);

Efl_Access_Type _efl_access_object_access_type_get(const Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_access_object_access_type_get, Efl_Access_Type, 0);

Eina_Bool _efl_access_object_relationship_append(Eo *obj, Efl_Access_Object_Data *pd, Efl_Access_Relation_Type type, const Efl_Access_Object *relation_object);

EAPI EAPI_WEAK EFL_FUNC_BODYV(efl_access_object_relationship_append, Eina_Bool, 0, EFL_FUNC_CALL(type, relation_object), Efl_Access_Relation_Type type, const Efl_Access_Object *relation_object);

void _efl_access_object_relationship_remove(Eo *obj, Efl_Access_Object_Data *pd, Efl_Access_Relation_Type type, const Efl_Access_Object *relation_object);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_access_object_relationship_remove, EFL_FUNC_CALL(type, relation_object), Efl_Access_Relation_Type type, const Efl_Access_Object *relation_object);

void _efl_access_object_relationships_clear(Eo *obj, Efl_Access_Object_Data *pd);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODY(efl_access_object_relationships_clear);

Efl_Object *_efl_access_object_access_root_get(void);

EAPI EAPI_WEAK Efl_Object * efl_access_object_access_root_get(void)
{
   const Efl_Class *klass = efl_access_object_mixin_get();
   EINA_SAFETY_ON_NULL_RETURN_VAL(klass,NULL);
   return _efl_access_object_access_root_get();
}

void _efl_access_object_efl_object_destructor(Eo *obj, Efl_Access_Object_Data *pd);


void _efl_access_object_efl_object_invalidate(Eo *obj, Efl_Access_Object_Data *pd);


Efl_Object *_efl_access_object_efl_object_provider_find(const Eo *obj, Efl_Access_Object_Data *pd, const Efl_Class *klass);


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

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_ACCESS_OBJECT_EXTRA_OPS
#define EFL_ACCESS_OBJECT_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_access_object_localized_role_name_get, _efl_access_object_localized_role_name_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_i18n_name_set, _efl_access_object_i18n_name_set),
      EFL_OBJECT_OP_FUNC(efl_access_object_i18n_name_get, _efl_access_object_i18n_name_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_relations_get, _efl_access_object_relations_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_role_set, _efl_access_object_role_set),
      EFL_OBJECT_OP_FUNC(efl_access_object_role_get, _efl_access_object_role_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_access_children_get, _efl_access_object_access_children_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_role_name_get, _efl_access_object_role_name_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_attributes_get, _efl_access_object_attributes_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_attribute_append, _efl_access_object_attribute_append),
      EFL_OBJECT_OP_FUNC(efl_access_object_attribute_del, _efl_access_object_attribute_del),
      EFL_OBJECT_OP_FUNC(efl_access_object_attributes_clear, _efl_access_object_attributes_clear),
      EFL_OBJECT_OP_FUNC(efl_access_object_reading_info_type_set, _efl_access_object_reading_info_type_set),
      EFL_OBJECT_OP_FUNC(efl_access_object_reading_info_type_get, _efl_access_object_reading_info_type_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_index_in_parent_get, _efl_access_object_index_in_parent_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_description_set, _efl_access_object_description_set),
      EFL_OBJECT_OP_FUNC(efl_access_object_description_get, _efl_access_object_description_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _efl_access_object_state_set_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_translation_domain_set, _efl_access_object_translation_domain_set),
      EFL_OBJECT_OP_FUNC(efl_access_object_translation_domain_get, _efl_access_object_translation_domain_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_access_type_set, _efl_access_object_access_type_set),
      EFL_OBJECT_OP_FUNC(efl_access_object_access_type_get, _efl_access_object_access_type_get),
      EFL_OBJECT_OP_FUNC(efl_access_object_relationship_append, _efl_access_object_relationship_append),
      EFL_OBJECT_OP_FUNC(efl_access_object_relationship_remove, _efl_access_object_relationship_remove),
      EFL_OBJECT_OP_FUNC(efl_access_object_relationships_clear, _efl_access_object_relationships_clear),
      EFL_OBJECT_OP_FUNC(efl_destructor, _efl_access_object_efl_object_destructor),
      EFL_OBJECT_OP_FUNC(efl_invalidate, _efl_access_object_efl_object_invalidate),
      EFL_OBJECT_OP_FUNC(efl_provider_find, _efl_access_object_efl_object_provider_find),
      EFL_ACCESS_OBJECT_EXTRA_OPS
   );
   opsp = &ops;

   static const Efl_Object_Property_Reflection refl_table[] = {
      {"localized_role_name", NULL, __eolian_efl_access_object_localized_role_name_get_reflect},
      {"i18n_name", __eolian_efl_access_object_i18n_name_set_reflect, __eolian_efl_access_object_i18n_name_get_reflect},
      {"role_name", NULL, __eolian_efl_access_object_role_name_get_reflect},
      {"index_in_parent", NULL, __eolian_efl_access_object_index_in_parent_get_reflect},
      {"description", __eolian_efl_access_object_description_set_reflect, __eolian_efl_access_object_description_get_reflect},
      {"state_set", NULL, __eolian_efl_access_object_state_set_get_reflect},
      {"translation_domain", __eolian_efl_access_object_translation_domain_set_reflect, __eolian_efl_access_object_translation_domain_get_reflect},
   };
   static const Efl_Object_Property_Reflection_Ops rops = {
      refl_table, EINA_C_ARRAY_LENGTH(refl_table)
   };
   ropsp = &rops;

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_access_object_class_desc = {
   EO_VERSION,
   "Efl.Access.Object",
   EFL_CLASS_TYPE_MIXIN,
   sizeof(Efl_Access_Object_Data),
   _efl_access_object_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_access_object_mixin_get, &_efl_access_object_class_desc, NULL, NULL);
