diff options
Diffstat (limited to 'src/lib/elementary/elm_atspi_bridge.c')
-rw-r--r-- | src/lib/elementary/elm_atspi_bridge.c | 345 |
1 files changed, 209 insertions, 136 deletions
diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c index 09ea6a1693..cca6176dee 100644 --- a/src/lib/elementary/elm_atspi_bridge.c +++ b/src/lib/elementary/elm_atspi_bridge.c @@ -3,10 +3,9 @@ #endif #define EFL_ACCESS_COMPONENT_PROTECTED -#define EFL_ACCESS_PROTECTED +#define EFL_ACCESS_OBJECT_PROTECTED #define EFL_ACCESS_ACTION_PROTECTED #define EFL_ACCESS_VALUE_PROTECTED -#define EFL_ACCESS_IMAGE_PROTECTED #define EFL_ACCESS_SELECTION_PROTECTED #define EFL_ACCESS_TEXT_PROTECTED #define EFL_ACCESS_EDITABLE_TEXT_PROTECTED @@ -16,6 +15,7 @@ #include "atspi/atspi-constants.h" #include <stdint.h> +#include <assert.h> #include <Elementary.h> #include "elm_priv.h" @@ -151,14 +151,14 @@ typedef struct { } Elm_Atspi_Bridge_Event_Handler; static const Elm_Atspi_Bridge_Event_Handler event_handlers[] = { - { EFL_ACCESS_EVENT_CHILDREN_CHANGED, _children_changed_signal_send}, - { EFL_ACCESS_EVENT_PROPERTY_CHANGED, _property_changed_signal_send}, - { EFL_ACCESS_EVENT_BOUNDS_CHANGED, _bounds_changed_signal_send}, - { EFL_ACCESS_EVENT_STATE_CHANGED, _state_changed_signal_send}, - { EFL_ACCESS_EVENT_VISIBLE_DATA_CHANGED, _visible_data_changed_signal_send}, - { EFL_ACCESS_EVENT_ACTIVE_DESCENDANT_CHANGED, _active_descendant_changed_signal_send}, - { EFL_ACCESS_EVENT_ADDED, _on_object_add}, - { EFL_ACCESS_EVENT_REMOVED, _on_object_del}, + { EFL_ACCESS_OBJECT_EVENT_CHILDREN_CHANGED, _children_changed_signal_send}, + { EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, _property_changed_signal_send}, + { EFL_ACCESS_OBJECT_EVENT_BOUNDS_CHANGED, _bounds_changed_signal_send}, + { EFL_ACCESS_OBJECT_EVENT_STATE_CHANGED, _state_changed_signal_send}, + { EFL_ACCESS_OBJECT_EVENT_VISIBLE_DATA_CHANGED, _visible_data_changed_signal_send}, + { EFL_ACCESS_OBJECT_EVENT_ACTIVE_DESCENDANT_CHANGED, _active_descendant_changed_signal_send}, + { EFL_ACCESS_OBJECT_EVENT_ADDED, _on_object_add}, + { EFL_ACCESS_OBJECT_EVENT_REMOVED, _on_object_del}, { EFL_ACCESS_WINDOW_EVENT_WINDOW_CREATED, _window_signal_send}, { EFL_ACCESS_WINDOW_EVENT_WINDOW_DESTROYED, _window_signal_send}, { EFL_ACCESS_WINDOW_EVENT_WINDOW_ACTIVATED, _window_signal_send}, @@ -487,9 +487,9 @@ _accessible_get_role(const Eldbus_Service_Interface *iface, const Eldbus_Message AtspiRole atspi_role = ATSPI_ROLE_INVALID; Efl_Access_Role role; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); - role = efl_access_role_get(obj); + role = efl_access_object_role_get(obj); Eldbus_Message *ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -506,9 +506,9 @@ _accessible_get_role_name(const Eldbus_Service_Interface *iface, const Eldbus_Me Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); - role_name = efl_access_role_name_get(obj); + role_name = efl_access_object_role_name_get(obj); Eldbus_Message *ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -524,9 +524,9 @@ _accessible_get_localized_role_name(const Eldbus_Service_Interface *iface, const Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); - l_role_name = efl_access_localized_role_name_get(obj); + l_role_name = efl_access_object_localized_role_name_get(obj); EINA_SAFETY_ON_NULL_RETURN_VAL(l_role_name, NULL); Eldbus_Message *ret = eldbus_message_method_return_new(msg); @@ -547,9 +547,9 @@ _accessible_get_children(const Eldbus_Service_Interface *iface, const Eldbus_Mes Eldbus_Message_Iter *iter, *iter_array; Eo *children; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); - children_list = efl_access_children_get(obj); + children_list = efl_access_object_access_children_get(obj); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -582,13 +582,13 @@ _accessible_get_application(const Eldbus_Service_Interface *iface, const Eldbus_ Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *root, *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); Eldbus_Message_Iter *iter = eldbus_message_iter_get(ret); - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); _bridge_iter_object_reference_append(bridge, iter, root); return ret; @@ -606,12 +606,12 @@ _accessible_attributes_get(const Eldbus_Service_Interface *iface, const Eldbus_M Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); if (!ret) goto error; - attrs = efl_access_attributes_get(obj); + attrs = efl_access_object_attributes_get(obj); iter = eldbus_message_iter_get(ret); if (!iter) goto error; @@ -648,7 +648,7 @@ _accessible_interfaces_get(const Eldbus_Service_Interface *iface, const Eldbus_M Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -718,7 +718,7 @@ _accessible_get_state(const Eldbus_Service_Interface *iface, const Eldbus_Messag Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -727,7 +727,7 @@ _accessible_get_state(const Eldbus_Service_Interface *iface, const Eldbus_Messag iter_array = eldbus_message_iter_container_new(iter, 'a', "u"); EINA_SAFETY_ON_NULL_GOTO(iter_array, fail); - states = efl_access_state_set_get(obj); + states = efl_access_object_state_set_get(obj); atspi_states = _elm_atspi_state_set_to_atspi_state_set(states); @@ -754,12 +754,12 @@ _accessible_get_index_in_parent(const Eldbus_Service_Interface *iface EINA_UNUSE Eldbus_Message *ret; int idx = -1; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); - idx = efl_access_index_in_parent_get(obj); + idx = efl_access_object_index_in_parent_get(obj); eldbus_message_arguments_append(ret, "i", idx); @@ -778,7 +778,7 @@ _accessible_child_at_index(const Eldbus_Service_Interface *iface EINA_UNUSED, co Eldbus_Message *ret; Eldbus_Message_Iter *iter; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); if (!eldbus_message_arguments_get(msg, "i", &idx)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); @@ -787,7 +787,7 @@ _accessible_child_at_index(const Eldbus_Service_Interface *iface EINA_UNUSED, co EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); iter = eldbus_message_iter_get(ret); - children = efl_access_children_get(obj); + children = efl_access_object_access_children_get(obj); child = eina_list_nth(children, idx); _bridge_iter_object_reference_append(bridge, iter, child); @@ -805,11 +805,11 @@ _accessible_get_relation_set(const Eldbus_Service_Interface *iface EINA_UNUSED, Eo *rel_obj, *obj = _bridge_object_from_path(bridge, obj_path); Eldbus_Message *ret = NULL; Eldbus_Message_Iter *iter = NULL, *iter_array = NULL, *iter_array2 = NULL, *iter_struct; - Efl_Access_Relation *rel; - Eina_List *l, *l2; - Efl_Access_Relation_Set rels; + const Efl_Access_Relation *rel; + Eina_List *l; + Eina_Iterator *it; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -818,15 +818,14 @@ _accessible_get_relation_set(const Eldbus_Service_Interface *iface EINA_UNUSED, iter_array = eldbus_message_iter_container_new(iter, 'a', "(ua(so))"); EINA_SAFETY_ON_NULL_GOTO(iter_array, fail); - rels = efl_access_relation_set_get(obj); - - EINA_LIST_FOREACH(rels, l, rel) + it = efl_access_object_relations_get(obj); + EINA_ITERATOR_FOREACH(it, rel) { iter_struct = eldbus_message_iter_container_new(iter_array, 'r', NULL); eldbus_message_iter_basic_append(iter_struct, 'u', _elm_relation_to_atspi_relation(rel->type)); iter_array2 = eldbus_message_iter_container_new(iter_struct, 'a', "(so)"); EINA_SAFETY_ON_NULL_GOTO(iter_array2, fail); - EINA_LIST_FOREACH(rel->objects, l2, rel_obj) + EINA_LIST_FOREACH(rel->objects, l, rel_obj) { _bridge_iter_object_reference_append(bridge, iter_array2, rel_obj); _bridge_object_register(bridge, rel_obj); @@ -834,7 +833,7 @@ _accessible_get_relation_set(const Eldbus_Service_Interface *iface EINA_UNUSED, eldbus_message_iter_container_close(iter_struct, iter_array2); eldbus_message_iter_container_close(iter_array, iter_struct); } - efl_access_relation_set_free(rels); + eina_iterator_free(it); eldbus_message_iter_container_close(iter, iter_array); return ret; @@ -1216,14 +1215,12 @@ _image_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_Message * AtspiCoordType type; Eldbus_Message *ret; const char *obj_path = eldbus_message_path_get(msg); - int x, y, w, h; Eina_Bool screen_coords; Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); + Eina_Rect r; - x = y = w = h = -1; - - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_IMAGE_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); if (!eldbus_message_arguments_get(msg, "u", &type)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); @@ -1232,8 +1229,8 @@ _image_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_Message * EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); screen_coords = type == ATSPI_COORD_TYPE_SCREEN ? EINA_TRUE : EINA_FALSE; - efl_access_image_extents_get(obj, screen_coords, &x, &y, &w, &h); - eldbus_message_arguments_append(ret, "iiii", x, y, w, h); + r = efl_access_component_extents_get(obj, screen_coords); + eldbus_message_arguments_append(ret, "iiii", r.x, r.y, r.w, r.h); return ret; } @@ -1249,7 +1246,7 @@ _image_position_get(const Eldbus_Service_Interface *iface, const Eldbus_Message int x = -1, y = -1; Eina_Bool screen_coords; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_IMAGE_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); if (!eldbus_message_arguments_get(msg, "u", &type)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); @@ -1258,7 +1255,10 @@ _image_position_get(const Eldbus_Service_Interface *iface, const Eldbus_Message EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); screen_coords = type == ATSPI_COORD_TYPE_SCREEN ? EINA_TRUE : EINA_FALSE; - efl_access_image_extents_get(obj, screen_coords, &x, &y, NULL, NULL); + if (screen_coords) + efl_access_component_screen_position_get(obj, &x, &y); + else + evas_object_geometry_get(obj, &x, &y, NULL, NULL); eldbus_message_arguments_append(ret, "i", x); eldbus_message_arguments_append(ret, "i", y); @@ -1274,12 +1274,12 @@ _image_size_get(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg Eo *obj = _bridge_object_from_path(bridge, obj_path); int w = -1, h = -1; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_IMAGE_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); - efl_access_image_extents_get(obj, EINA_FALSE, NULL, NULL, &w, &h); + evas_object_geometry_get(obj, NULL, NULL, &w, &h); eldbus_message_arguments_append(ret, "i", w); eldbus_message_arguments_append(ret, "i", h); @@ -1603,7 +1603,7 @@ _text_selection_get(const Eldbus_Service_Interface *iface, const Eldbus_Message ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); - efl_access_text_selection_get(obj, sel_num, &start, &end); + efl_access_text_access_selection_get(obj, sel_num, &start, &end); eldbus_message_arguments_append(ret, "ii", start, end); @@ -1678,7 +1678,7 @@ _text_selection_set(const Eldbus_Service_Interface *iface, const Eldbus_Message ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); - res = efl_access_text_selection_set(obj, sel_num, start, end); + res = efl_access_text_access_selection_set(obj, sel_num, start, end); eldbus_message_arguments_append(ret, "b", res); @@ -2028,7 +2028,7 @@ _bridge_object_from_path(Eo *bridge, const char *path) tmp = path + len; /* Skip over the prefix */ if (!strcmp(ELM_ACCESS_OBJECT_PATH_ROOT, tmp)) { - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); return root; } @@ -2042,7 +2042,7 @@ _bridge_object_from_path(Eo *bridge, const char *path) return NULL; } - ret = efl_isa(eo, EFL_ACCESS_MIXIN) ? eo : NULL; + ret = efl_isa(eo, EFL_ACCESS_OBJECT_MIXIN) ? eo : NULL; return ret; } @@ -2055,7 +2055,7 @@ _path_from_object(const Eo *eo) if (!eo) return ATSPI_DBUS_PATH_NULL; - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); if (eo == root) snprintf(path, sizeof(path), "%s%s", ELM_ACCESS_OBJECT_PATH_PREFIX, ELM_ACCESS_OBJECT_PATH_ROOT); @@ -2073,11 +2073,11 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char * Eo *bridge = eldbus_service_object_data_get(interface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *ret_obj = NULL, *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, request_msg, error); + ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, request_msg, error); if (!strcmp(property, "Name")) { - ret = efl_access_name_get(obj); + ret = efl_access_object_i18n_name_get(obj); if (!ret) ret = ""; eldbus_message_iter_basic_append(iter, 's', ret); @@ -2085,7 +2085,7 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char * } else if (!strcmp(property, "Description")) { - ret = efl_access_description_get(obj); + ret = efl_access_object_description_get(obj); if (!ret) ret = ""; eldbus_message_iter_basic_append(iter, 's', ret); @@ -2093,9 +2093,9 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char * } else if (!strcmp(property, "Parent")) { - ret_obj = efl_access_parent_get(obj); + ret_obj = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); Efl_Access_Role role = EFL_ACCESS_ROLE_INVALID; - role = efl_access_role_get(obj); + role = efl_access_object_role_get(obj); if ((!ret_obj) && (EFL_ACCESS_ROLE_APPLICATION == role)) _object_desktop_reference_append(iter); else @@ -2105,7 +2105,7 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char * else if (!strcmp(property, "ChildCount")) { Eina_List *l = NULL; - l = efl_access_children_get(obj); + l = efl_access_object_access_children_get(obj); eldbus_message_iter_basic_append(iter, 'i', eina_list_count(l)); eina_list_free(l); return EINA_TRUE; @@ -2233,18 +2233,18 @@ _image_properties_get(const Eldbus_Service_Interface *interface, const char *pro Eo *bridge = eldbus_service_object_data_get(interface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_IMAGE_MIXIN, request_msg, error); + ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, request_msg, error); if (!strcmp(property, "ImageDescription")) { - value = efl_access_image_description_get(obj); + value = efl_access_object_description_get(obj); value = value ? value : ""; eldbus_message_iter_basic_append(iter, 's', value); return EINA_TRUE; } if (!strcmp(property, "ImageLocale")) { - value = efl_access_image_locale_get(obj); + value = efl_access_object_translation_domain_get(obj); value = value ? value : ""; eldbus_message_iter_basic_append(iter, 's', value); return EINA_TRUE; @@ -2574,7 +2574,7 @@ _collection_match_states_lookup(Eo *obj, struct collection_match_rule *rule) Eina_Bool ret = EINA_FALSE; Efl_Access_State_Set ss; - ss = efl_access_state_set_get(obj); + ss = efl_access_object_state_set_get(obj); switch (rule->statematchtype) { @@ -2604,7 +2604,7 @@ _collection_match_roles_lookup(Eo *obj, struct collection_match_rule *rule) Efl_Access_Role role; int64_t role_set; - role = efl_access_role_get(obj); + role = efl_access_object_role_get(obj); if (role >= 64) { @@ -2640,26 +2640,82 @@ _collection_match_roles_lookup(Eo *obj, struct collection_match_rule *rule) } static Eina_Bool -_collection_match_attributes_helper(Eina_List *obj_attribs, Eina_List *attribs, Eina_Bool compare, Eina_Bool ret_if_compare, Eina_Bool ret_default) +_collection_match_attributes_helper(Eina_List *obj_attribs, Eina_List *attribs, AtspiCollectionMatchType mode) { Eina_List *l, *l2; Efl_Access_Attribute *attr, *attr2; + Eina_Bool obj_empty = eina_list_count(obj_attribs) == 0; + Eina_Bool empty = eina_list_count(attribs) == 0; + switch (mode) + { + case ATSPI_Collection_MATCH_ANY: + if (empty || obj_empty) return EINA_FALSE; + break; + case ATSPI_Collection_MATCH_ALL: + if (empty) return EINA_TRUE; + if (obj_empty) return EINA_FALSE; + break; + case ATSPI_Collection_MATCH_NONE: + if (empty || obj_empty) return EINA_TRUE; + break; + case ATSPI_Collection_MATCH_EMPTY: + if (empty && obj_empty) return EINA_TRUE; + if (empty || obj_empty) return EINA_FALSE; + break; + case ATSPI_Collection_MATCH_INVALID: + case ATSPI_Collection_MATCH_LAST_DEFINED: + assert(0); + break; + } EINA_LIST_FOREACH(attribs, l, attr) { - EINA_LIST_FOREACH(obj_attribs, l2, attr2) - { - if ((attr->key && attr2->key && - attr->value && attr2->value && - !strcmp(attr->key, attr2->key) && - !strcmp(attr->value, attr2->value)) == compare) - { - return ret_if_compare; - } - } + Eina_Bool found = EINA_FALSE; + EINA_LIST_FOREACH(obj_attribs, l2, attr2) + { + Eina_Bool compare = (attr->key && attr2->key && + attr->value && attr2->value && + !strcmp(attr->key, attr2->key) && + !strcmp(attr->value, attr2->value)); + if (compare) + { + found = EINA_TRUE; + break; + } + } + switch (mode) + { + case ATSPI_Collection_MATCH_EMPTY: + case ATSPI_Collection_MATCH_ALL: + if (!found) return EINA_FALSE; + break; + case ATSPI_Collection_MATCH_ANY: + if (found) return EINA_TRUE; + break; + case ATSPI_Collection_MATCH_NONE: + if (found) return EINA_FALSE; + break; + case ATSPI_Collection_MATCH_INVALID: + case ATSPI_Collection_MATCH_LAST_DEFINED: + assert(0); + break; + } } - return ret_default; + switch (mode) + { + case ATSPI_Collection_MATCH_EMPTY: + case ATSPI_Collection_MATCH_ALL: + case ATSPI_Collection_MATCH_NONE: + return EINA_TRUE; + case ATSPI_Collection_MATCH_ANY: + return EINA_FALSE; + case ATSPI_Collection_MATCH_INVALID: + case ATSPI_Collection_MATCH_LAST_DEFINED: + assert(0); + break; + } + return EINA_FALSE; } static Eina_Bool @@ -2668,7 +2724,7 @@ _collection_match_attributes_lookup(Eo *obj, struct collection_match_rule *rule) Eina_Bool ret = EINA_FALSE; Eina_List *obj_attribs; - obj_attribs = efl_access_attributes_get(obj); + obj_attribs = efl_access_object_attributes_get(obj); switch (rule->attributematchtype) { @@ -2676,18 +2732,13 @@ _collection_match_attributes_lookup(Eo *obj, struct collection_match_rule *rule) ret = EINA_TRUE; break; case ATSPI_Collection_MATCH_ALL: - ret = _collection_match_attributes_helper( - obj_attribs, rule->attributes, EINA_FALSE, EINA_FALSE, EINA_TRUE); - break; case ATSPI_Collection_MATCH_ANY: - ret = _collection_match_attributes_helper( - obj_attribs, rule->attributes, EINA_TRUE, EINA_TRUE, EINA_FALSE); - break; case ATSPI_Collection_MATCH_NONE: - ret = _collection_match_attributes_helper( - obj_attribs, rule->attributes, EINA_TRUE, EINA_FALSE, EINA_TRUE); + case ATSPI_Collection_MATCH_EMPTY: + ret = _collection_match_attributes_helper(obj_attribs, rule->attributes, rule->attributematchtype); break; default: + DBG("invalid match type"); break; } @@ -2704,7 +2755,7 @@ _collection_sort_order_canonical(struct collection_match_rule *rule, Eina_List * { int i = index; Eina_List *children; - children = efl_access_children_get(obj); + children = efl_access_object_access_children_get(obj); long acount = eina_list_count(children); Eina_Bool prev = pobj ? EINA_TRUE : EINA_FALSE; @@ -2768,21 +2819,21 @@ _collection_sort_order_reverse_canonical(struct collection_match_rule *rule, Ein flag = EINA_TRUE; /* Get the current nodes index in it's parent and the parent object. */ - indexinparent = efl_access_index_in_parent_get(obj); - parent = efl_access_parent_get(obj); + indexinparent = efl_access_object_index_in_parent_get(obj); + parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); if ((indexinparent > 0) && ((max == 0) || (count < max))) { /* there are still some siblings to visit so get the previous sibling and get it's last descendant. First, get the previous sibling */ - children = efl_access_children_get(parent); + children = efl_access_object_access_children_get(parent); nextobj = eina_list_nth(children, indexinparent - 1); eina_list_free(children); /* Now, drill down the right side to the last descendant */ do { - children = efl_access_children_get(nextobj); + children = efl_access_object_access_children_get(nextobj); if (children) nextobj = eina_list_last_data_get(children); eina_list_free(children); } while (children); @@ -2825,8 +2876,8 @@ _collection_inorder(Eo *collection, struct collection_match_rule *rule, Eina_Lis while ((max == 0 || count < max) && obj && obj != collection) { Eo *parent; - parent = efl_access_parent_get(obj); - idx = efl_access_index_in_parent_get(obj); + parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + idx = efl_access_object_index_in_parent_get(obj); count = _collection_sort_order_canonical(rule, list, count, max, parent, idx + 1, EINA_TRUE, NULL, EINA_TRUE, traverse); obj = parent; @@ -2902,8 +2953,8 @@ _collection_get_matches_from_handle(Eo *collection, Eo *current, struct collecti result = eina_list_reverse(result); break; case ATSPI_Collection_TREE_RESTRICT_CHILDREN: - idx = efl_access_index_in_parent_get(current); - parent = efl_access_parent_get(current); + idx = efl_access_object_index_in_parent_get(current); + parent = efl_provider_find(efl_parent_get(current), EFL_ACCESS_OBJECT_MIXIN); _collection_query(rule, sortby, &result, 0, max, parent, idx, EINA_FALSE, NULL, EINA_TRUE, traverse); break; case ATSPI_Collection_TREE_RESTRICT_SIBLING: @@ -2931,7 +2982,7 @@ _collection_get_matches_from(const Eldbus_Service_Interface *iface EINA_UNUSED, AtspiCollectionSortOrder sortby; Eina_List *result = NULL; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); iter = eldbus_message_iter_get(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(iter, NULL); @@ -2943,7 +2994,7 @@ _collection_get_matches_from(const Eldbus_Service_Interface *iface EINA_UNUSED, current = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_OBJECT_MIXIN, msg); if (!_collection_iter_match_rule_get(rule_iter, &rule)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Invalid match rule parameters."); @@ -2964,7 +3015,7 @@ _collection_get_matches_to_handle(Eo *obj, Eo *current, struct collection_match_ Eo *collection = obj; if (limit) - collection = efl_access_parent_get(obj); + collection = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); switch (tree) { @@ -3003,7 +3054,7 @@ _collection_get_matches_to(const Eldbus_Service_Interface *iface EINA_UNUSED, co Eina_List *result = NULL; Eina_Bool limit; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); iter = eldbus_message_iter_get(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(iter, NULL); @@ -3015,7 +3066,7 @@ _collection_get_matches_to(const Eldbus_Service_Interface *iface EINA_UNUSED, co current = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_OBJECT_MIXIN, msg); if (!_collection_iter_match_rule_get(rule_iter, &rule)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Invalid match rule parameters."); @@ -3043,7 +3094,7 @@ _collection_get_matches(const Eldbus_Service_Interface *iface, const Eldbus_Mess AtspiCollectionSortOrder sortby; Eina_List *result = NULL; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); iter = eldbus_message_iter_get(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(iter, NULL); @@ -3117,7 +3168,7 @@ _iter_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj) iter_array = eldbus_message_iter_container_new(iter, 'a', "s"); if (!iter_array) return; - if (efl_isa(obj, EFL_ACCESS_MIXIN)) + if (efl_isa(obj, EFL_ACCESS_OBJECT_MIXIN)) { eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_ACCESSIBLE); eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_COLLECTION); @@ -3130,7 +3181,7 @@ _iter_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_COMPONENT); if (efl_isa(obj, EFL_ACCESS_EDITABLE_TEXT_INTERFACE)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_EDITABLE_TEXT); - if (efl_isa(obj, EFL_ACCESS_IMAGE_MIXIN)) + if (efl_isa(obj, EFL_ACCESS_OBJECT_MIXIN)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_IMAGE); if (efl_isa(obj, EFL_ACCESS_SELECTION_INTERFACE)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_SELECTION); @@ -3152,9 +3203,9 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ Efl_Access_State_Set states; Efl_Access_Role role; Eo *root; - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); - role = efl_access_role_get(data); + role = efl_access_object_role_get(data); iter_struct = eldbus_message_iter_container_new(iter_array, 'r', NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(iter_struct, EINA_TRUE); @@ -3166,7 +3217,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ _bridge_iter_object_reference_append(bridge, iter_struct, root); Eo *parent = NULL; - parent = efl_access_parent_get(data); + parent = efl_provider_find(efl_parent_get(data), EFL_ACCESS_OBJECT_MIXIN); /* Marshall parent */ if ((!parent) && (EFL_ACCESS_ROLE_APPLICATION == role)) _object_desktop_reference_append(iter_struct); @@ -3177,7 +3228,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ Eina_List *children_list = NULL, *l; Eo *child; - children_list = efl_access_children_get(data); + children_list = efl_access_object_access_children_get(data); iter_sub_array = eldbus_message_iter_container_new(iter_struct, 'a', "(so)"); EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail); @@ -3192,7 +3243,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ /* Marshall name */ const char *name = NULL; - name = efl_access_name_get(data); + name = efl_access_object_i18n_name_get(data); if (!name) name = ""; @@ -3203,7 +3254,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ /* Marshall description */ const char* description = NULL; - description = efl_access_description_get(data); + description = efl_access_object_description_get(data); if (!description) description = ""; eldbus_message_iter_basic_append(iter_struct, 's', description); @@ -3212,7 +3263,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ iter_sub_array = eldbus_message_iter_container_new(iter_struct, 'a', "u"); EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail); - states = efl_access_state_set_get(data); + states = efl_access_object_state_set_get(data); unsigned int s1 = states & 0xFFFFFFFF; unsigned int s2 = (states >> 32) & 0xFFFFFFFF; @@ -3249,7 +3300,7 @@ _cache_get_items(const Eldbus_Service_Interface *iface, const Eldbus_Message *ms iter_array = eldbus_message_iter_container_new(iter, 'a', CACHE_ITEM_SIGNATURE); EINA_SAFETY_ON_NULL_GOTO(iter_array, fail); - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); to_process = eina_list_append(NULL, root); while (to_process) @@ -3260,7 +3311,7 @@ _cache_get_items(const Eldbus_Service_Interface *iface, const Eldbus_Message *ms _bridge_object_register(bridge, obj); Eina_List *children; - children = efl_access_children_get(obj); + children = efl_access_object_access_children_get(obj); to_process = eina_list_merge(to_process, children); } @@ -3388,7 +3439,7 @@ _component_get_position(const Eldbus_Service_Interface *iface EINA_UNUSED, const const char *obj_path = eldbus_message_path_get(msg); Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - int x, y; + int x = 1, y = 1; AtspiCoordType coord_type; Eldbus_Message *ret; @@ -3398,7 +3449,13 @@ _component_get_position(const Eldbus_Service_Interface *iface EINA_UNUSED, const return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); Eina_Bool type = coord_type == ATSPI_COORD_TYPE_SCREEN ? EINA_TRUE : EINA_FALSE; - efl_access_component_position_get(obj, type, &x, &y); + if (efl_gfx_entity_visible_get(obj)) + { + if (type) + efl_access_component_screen_position_get(obj, &x, &y); + else + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + } ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -3415,12 +3472,13 @@ _component_get_size(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eld const char *obj_path = eldbus_message_path_get(msg); Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - int x, y; + int x = -1, y = -1; Eldbus_Message *ret; ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_COMPONENT_MIXIN, msg); - efl_access_component_size_get(obj, &x, &y); + if (efl_gfx_entity_visible_get(obj)) + evas_object_geometry_get(obj, NULL, NULL, &x, &y); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -3447,13 +3505,14 @@ _component_get_layer(const Eldbus_Service_Interface *iface EINA_UNUSED, const El const char *obj_path = eldbus_message_path_get(msg); Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - int layer = 0; + int layer = -1; Eldbus_Message *ret; AtspiComponentLayer atspi_layer; ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_COMPONENT_MIXIN, msg); - layer = efl_access_component_layer_get(obj); + if (efl_gfx_entity_visible_get(obj)) + layer = evas_object_layer_get(obj); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -3493,12 +3552,17 @@ _component_get_alpha(const Eldbus_Service_Interface *iface EINA_UNUSED, const El Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); Eldbus_Message *ret; - double alpha = 0; + double alpha = -1; + int a; if (!obj) return _dbus_invalid_ref_error_new(msg); - alpha = efl_access_component_alpha_get(obj); + if (efl_gfx_entity_visible_get(obj)) + { + evas_object_color_get(obj, NULL, NULL, NULL, &a); + alpha = a / 255.0; + } ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -3541,7 +3605,7 @@ _component_set_position(const Eldbus_Service_Interface *iface EINA_UNUSED, const const char *obj_path = eldbus_message_path_get(msg); Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - int x, y; + int x = -1, y = -1; Eina_Bool result = EINA_FALSE; AtspiCoordType coord_type; Eldbus_Message *ret; @@ -3552,7 +3616,16 @@ _component_set_position(const Eldbus_Service_Interface *iface EINA_UNUSED, const return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); Eina_Bool type = coord_type == ATSPI_COORD_TYPE_SCREEN ? EINA_TRUE : EINA_FALSE; - result = efl_access_component_position_set(obj, type, x, y); + if (efl_gfx_entity_visible_get(obj)) + { + if (type) + result = efl_access_component_screen_position_set(obj, x, y); + else + { + result = EINA_TRUE; + evas_object_move(obj, x, y); + } + } ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -3569,7 +3642,7 @@ _component_set_size(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eld Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); int w, h; - Eina_Bool result; + Eina_Bool result = EINA_TRUE; Eldbus_Message *ret; ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_COMPONENT_MIXIN, msg); @@ -3577,7 +3650,7 @@ _component_set_size(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eld if (!eldbus_message_arguments_get(msg, "ii", &w, &h)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); - result = efl_access_component_size_set(obj, w, h); + evas_object_resize(obj, w, h); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -3632,7 +3705,7 @@ _elm_atspi_bridge_app_register(Eo *bridge) "Embed"); Eldbus_Message_Iter *iter = eldbus_message_iter_get(message); - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); _bridge_iter_object_reference_append(bridge, iter, root); eldbus_connection_send(pd->a11y_bus, message, _on_elm_atspi_bridge_app_register, NULL, -1); @@ -3645,7 +3718,7 @@ _elm_atspi_bridge_app_unregister(Eo *bridge) Eo *root; ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN_VAL(bridge, pd, EINA_FALSE); - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); Eldbus_Message *message = eldbus_message_method_call_new(ATSPI_DBUS_NAME_REGISTRY, ATSPI_DBUS_PATH_ROOT, @@ -3863,7 +3936,7 @@ _property_changed_signal_send(void *data, const Efl_Event *event) prop = ATSPI_OBJECT_PROPERTY_PARENT; atspi_desc = "accessible-parent"; } - else if (!strcmp(property, "name")) + else if (!strcmp(property, "i18n_name")) { prop = ATSPI_OBJECT_PROPERTY_NAME; atspi_desc = "accessible-name"; @@ -3930,7 +4003,7 @@ _active_descendant_changed_signal_send(void *data, const Efl_Event *event) return; } - idx = efl_access_index_in_parent_get(child); + idx = efl_access_object_index_in_parent_get(child); _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT, &_event_obj_signals[ATSPI_OBJECT_EVENT_ACTIVE_DESCENDANT_CHANGED], "", @@ -3964,7 +4037,7 @@ _children_changed_signal_send(void *data, const Efl_Event *event) return; } - idx = efl_access_index_in_parent_get(ev_data->child); + idx = efl_access_object_index_in_parent_get(ev_data->child); _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT, &_event_obj_signals[ATSPI_OBJECT_EVENT_CHILDREN_CHANGED], atspi_desc, idx, 0, "(so)", eldbus_connection_unique_name_get(pd->a11y_bus), ev_data->child); @@ -4045,7 +4118,7 @@ static void _bridge_signal_send(Eo *bridge, Eo *obj, const char *infc, const Eld ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd); path = _path_from_object(obj); - root = efl_access_root_get(EFL_ACCESS_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); msg = eldbus_message_signal_new(path, infc, signal->name); if (!msg) return; @@ -4295,7 +4368,7 @@ _a11y_connection_shutdown(Eo *bridge) if (pd->event_hash) eina_hash_free(pd->event_hash); pd->event_hash = NULL; - efl_access_event_handler_del(EFL_ACCESS_MIXIN, pd->event_hdlr); + efl_access_object_event_handler_del(EFL_ACCESS_OBJECT_MIXIN, pd->event_hdlr); pd->event_hdlr = NULL; efl_event_callback_legacy_call(bridge, ELM_ATSPI_BRIDGE_EVENT_DISCONNECTED, NULL); @@ -4387,7 +4460,7 @@ _a11y_bus_initialize(Eo *obj, const char *socket_addr) _elm_atspi_bridge_app_register(obj); // register accessible object event listener - pd->event_hdlr = efl_access_event_handler_add(EFL_ACCESS_MIXIN, _bridge_accessible_event_dispatch, obj); + pd->event_hdlr = efl_access_object_event_handler_add(EFL_ACCESS_OBJECT_MIXIN, _bridge_accessible_event_dispatch, obj); } static void @@ -4465,9 +4538,9 @@ static void _bridge_object_register(Eo *bridge, Eo *obj) { ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd); - if (!efl_isa(obj, EFL_ACCESS_MIXIN)) + if (!efl_isa(obj, EFL_ACCESS_OBJECT_MIXIN)) { - WRN("Unable to register class w/o Efl_Access!"); + WRN("Unable to register class w/o Efl_Access_Object!"); return; } @@ -4482,7 +4555,7 @@ _elm_atspi_bridge_init(void) { if (!_init_count) { - _instance = efl_add(ELM_ATSPI_BRIDGE_CLASS, NULL); + _instance = efl_add_ref(ELM_ATSPI_BRIDGE_CLASS, NULL); _init_count = 1; } } @@ -4498,7 +4571,7 @@ _elm_atspi_bridge_shutdown(void) { if (_init_count) { - efl_del(_instance); + efl_unref(_instance); _init_count = 0; } _efl_access_shutdown(); @@ -4654,7 +4727,7 @@ _elm_atspi_bridge_key_filter(void *data, void *loop EINA_UNUSED, int type, void } EOLIAN Eina_Bool -_elm_atspi_bridge_connected_get(Eo *obj EINA_UNUSED, Elm_Atspi_Bridge_Data *pd) +_elm_atspi_bridge_connected_get(const Eo *obj EINA_UNUSED, Elm_Atspi_Bridge_Data *pd) { return pd->connected; } |