aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukasz Stanislawski <l.stanislaws@samsung.com>2017-06-16 14:58:22 +0200
committerLukasz Stanislawski <l.stanislaws@samsung.com>2017-06-26 15:56:08 +0200
commite9871da2793c24e097b631596486f6c2af86daf1 (patch)
treef7fed63a14645ce131ef448bd5481e6139bdc2c0
parentelementary: move keyboard event forwarding out of bridge (diff)
downloadefl-devs/stanluk/refactor2.tar.gz
elementary: move cache implementation of bridgedevs/stanluk/refactor2
Change-Id: Iabcfd7d4828be92b99b6f0a2153c5fb143353baf
-rw-r--r--src/Makefile_Elementary.am10
-rw-r--r--src/lib/elementary/elm_atspi_adaptor.c66
-rw-r--r--src/lib/elementary/elm_atspi_adaptor.eo16
-rw-r--r--src/lib/elementary/elm_atspi_bridge.c10
-rw-r--r--src/lib/elementary/elm_atspi_cache.c211
-rw-r--r--src/lib/elementary/elm_atspi_cache.eo25
-rw-r--r--src/lib/elementary/elm_atspi_dbus_reference_private.c54
-rw-r--r--src/lib/elementary/elm_atspi_dbus_reference_private.h4
-rw-r--r--src/lib/elementary/elm_interface_accessible_observer.eo8
-rw-r--r--src/lib/elementary/elm_interface_atspi_accessible.eo10
10 files changed, 398 insertions, 16 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 4f20a7e935..4aaf725534 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -32,6 +32,7 @@ elm_public_eolian_files = \
lib/elementary/elm_index.eo \
lib/elementary/elm_interface_accessible_observer.eo \
lib/elementary/elm_interface_atspi_accessible.eo \
+ lib/elementary/elm_atspi_adaptor.eo \
lib/elementary/elm_interface_atspi_action.eo \
lib/elementary/elm_interface_atspi_component.eo \
lib/elementary/elm_interface_atspi_text_editable.eo \
@@ -136,6 +137,10 @@ elm_public_eolian_files = \
elm_private_eolian_files = \
lib/elementary/elm_atspi_bridge.eo \
lib/elementary/elm_interface_accessible_observer.eo \
+ lib/elementary/elm_atspi_status_monitor.eo \
+ lib/elementary/elm_atspi_adaptor.eo \
+ lib/elementary/elm_atspi_cache.eo \
+ lib/elementary/elm_atspi_device_event_controller.eo \
lib/elementary/efl_ui_internal_text_interactive.eo \
lib/elementary/efl_ui_win_internal_part.eo \
tests/elementary/focus_test.eo \
@@ -146,8 +151,6 @@ elm_private_eolian_files = \
elm_legacy_eolian_files = \
lib/elementary/elm_access.eo \
lib/elementary/elm_actionslider.eo \
- lib/elementary/elm_atspi_status_monitor.eo \
- lib/elementary/elm_atspi_device_event_controller.eo \
lib/elementary/elm_box.eo \
lib/elementary/elm_bubble.eo \
lib/elementary/elm_diskselector.eo \
@@ -565,7 +568,6 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/elc_scrolled_entry.c \
lib/elementary/elm_access.c \
lib/elementary/elm_actionslider.c \
- lib/elementary/elm_atspi_adaptor.c \
lib/elementary/elm_atspi_app_object.c \
lib/elementary/elm_atspi_bridge.c \
lib/elementary/elm_atspi_cache.c \
@@ -573,7 +575,9 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/elm_atspi_plug.c \
lib/elementary/elm_atspi_proxy.c \
lib/elementary/elm_atspi_socket.c \
+ lib/elementary/elm_atspi_adaptor.c \
lib/elementary/elm_atspi_status_monitor.c \
+ lib/elementary/elm_atspi_dbus_reference_private.c \
lib/elementary/elm_bg.c \
lib/elementary/elm_box.c \
lib/elementary/elm_bubble.c \
diff --git a/src/lib/elementary/elm_atspi_adaptor.c b/src/lib/elementary/elm_atspi_adaptor.c
index 090f2f0791..2df02f1730 100644
--- a/src/lib/elementary/elm_atspi_adaptor.c
+++ b/src/lib/elementary/elm_atspi_adaptor.c
@@ -2,3 +2,69 @@
# include "elementary_config.h"
#endif
+#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
+#include <Elementary.h>
+
+#include "elm_atspi_cache.eo.h"
+#include "elm_atspi_cache.eo.legacy.h"
+#include "elm_atspi_adaptor.eo.h"
+
+typedef struct _Elm_Atspi_Adaptor_Data
+{
+ Eldbus_Connection *conn;
+
+ Eldbus_Signal_Handler *register_hdl;
+ Eldbus_Signal_Handler *unregister_hdl;
+
+ unsigned long object_broadcast_mask;
+ unsigned long object_property_broadcast_mask;
+ unsigned long object_children_broadcast_mask;
+ unsigned long long object_state_broadcast_mask;
+ unsigned long long window_signal_broadcast_mask;
+
+ struct {
+ Eldbus_Service_Interface *accessible;
+ Eldbus_Service_Interface *application;
+ Eldbus_Service_Interface *action;
+ Eldbus_Service_Interface *component;
+ Eldbus_Service_Interface *collection;
+ Eldbus_Service_Interface *editable_text;
+ Eldbus_Service_Interface *image;
+ Eldbus_Service_Interface *selection;
+ Eldbus_Service_Interface *text;
+ Eldbus_Service_Interface *value;
+ Eldbus_Service_Interface *socket;
+ } interfaces;
+} Elm_Atspi_Adaptor_Data;
+
+EOLIAN static void
+_elm_atspi_adaptor_event_handle(Elm_Atspi_Adaptor *adaptor, Elm_Atspi_Adaptor_Data *data, const Elm_Accessible_Event *accessible_event)
+{
+}
+
+EOLIAN static Eo*
+_elm_atspi_adaptor_efl_object_constructor(Elm_Atspi_Adaptor *adaptor, Elm_Atspi_Adaptor_Data *pd)
+{
+ return adaptor;
+}
+
+EOLIAN static void
+_elm_atspi_adaptor_constructor(Elm_Atspi_Adaptor *adaptor, Elm_Atspi_Adaptor_Data *pd, Eldbus_Connection *conn)
+{
+ pd->conn = eldbus_connection_ref(conn);
+ assert (pd->conn != NULL);
+
+ //_register_interfaces();
+ //_register_update_handlers();
+}
+
+EOLIAN static void
+_elm_atspi_adaptor_efl_object_destructor(Elm_Atspi_Adaptor *adaptor, Elm_Atspi_Adaptor_Data *pd)
+{
+ //_unregister_interfaces();
+ //unregister_update_handlers();
+ eldbus_connection_unref(pd->conn);
+ //efl_unref(pd->cache);
+}
+
+#include "elm_atspi_adaptor.eo.c"
diff --git a/src/lib/elementary/elm_atspi_adaptor.eo b/src/lib/elementary/elm_atspi_adaptor.eo
new file mode 100644
index 0000000000..1017bc47bd
--- /dev/null
+++ b/src/lib/elementary/elm_atspi_adaptor.eo
@@ -0,0 +1,16 @@
+import elm_interface_atspi_accessible;
+
+class Elm.Atspi.Adaptor (Efl.Object)
+{
+ methods {
+ event_handle {
+ params {
+ @in event: const(ptr(Elm.Accessible.Event));
+ }
+ }
+ }
+ implements {
+ Efl.Object.constructor;
+ Efl.Object.destructor;
+ }
+}
diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c
index 6c32834901..7d73ce47a2 100644
--- a/src/lib/elementary/elm_atspi_bridge.c
+++ b/src/lib/elementary/elm_atspi_bridge.c
@@ -23,6 +23,8 @@
#include "elm_atspi_status_monitor.eo.legacy.h"
#include "elm_atspi_device_event_controller.eo.h"
#include "elm_atspi_device_event_controller.eo.legacy.h"
+#include "elm_atspi_adaptor.eo.h"
+#include "elm_atspi_adaptor.eo.legacy.h"
/*
* Accessibility Bus info not defined in atspi-constants.h
@@ -61,12 +63,12 @@
typedef struct _Elm_Atspi_Bridge_Data
{
- Elm_Atspi_Status_Monitor *monitor;
- Elm_Atspi_Device_Event_Controller *device_event_controller;
-
// connection
Eldbus_Connection *a11y_bus;
+ Elm_Atspi_Status_Monitor *monitor;
+ Elm_Atspi_Device_Event_Controller *device_event_controller;
+
Eldbus_Signal_Handler *register_hdl;
Eldbus_Signal_Handler *unregister_hdl;
@@ -4897,7 +4899,7 @@ _bridge_plug_unregister(Eo *bridge, Elm_Atspi_Plug *plug)
ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd);
Eina_List *node;
- if ((node = eina_list_data_find_list(pd->plugs, plug)))
+ if (node = eina_list_data_find_list(pd->plugs, plug))
{
if (pd->connected)
_bridge_object_unregister(bridge, plug);
diff --git a/src/lib/elementary/elm_atspi_cache.c b/src/lib/elementary/elm_atspi_cache.c
index e69de29bb2..57e2f79563 100644
--- a/src/lib/elementary/elm_atspi_cache.c
+++ b/src/lib/elementary/elm_atspi_cache.c
@@ -0,0 +1,211 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include <Elementary.h>
+#include <assert.h>
+
+typedef struct _Elm_Atspi_Cache_Data {
+ Eldbus_Connection *conn;
+ Eldbus_Service_Interface *cache_ifc;
+ Eina_Hash *cache;
+} Elm_Atspi_Cache_Data;
+
+#include "atspi/atspi-constants.h"
+#include "elm_priv.h"
+#include "elm_atspi_cache.eo.h"
+
+#define CACHE_ITEM_SIGNATURE "((so)(so)(so)a(so)assusau)"
+#define CACHE_INTERFACE_PATH "/org/a11y/atspi/cache"
+
+typedef enum _Atspi_Cache_Event_Type
+{
+ ATSPI_CACHE_EVENT_ACCESSIBLE_ADDED = 0,
+ ATSPI_CACHE_EVENT_ACCESSIBLE_REMOVED
+} Atspi_Cache_Event_Type;
+
+static void
+_iter_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj)
+{
+}
+
+static void
+_cache_item_reference_append(Eldbus_Connection *conn, Elm_Interface_Atspi_Accessible *object, Eldbus_Message_Iter *iter_array)
+{
+ Eldbus_Message_Iter *iter_struct, *iter_sub_array;
+ Elm_Atspi_State_Set states;
+ Elm_Atspi_Role role;
+
+ role = elm_interface_atspi_accessible_role_get(object);
+
+ iter_struct = eldbus_message_iter_container_new(iter_array, 'r', NULL);
+ EINA_SAFETY_ON_NULL_RETURN(iter_struct);
+
+ /* Marshall object path */
+ elm_atspi_dbus_object_reference_append(conn, iter_struct, object);
+
+ /* Marshall root */
+ elm_atspi_dbus_object_reference_append(conn, iter_struct, elm_interface_atspi_accessible_root_get(ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN));
+
+ /* Marshall parent */
+ Eo *parent = elm_interface_atspi_accessible_parent_get(object);
+ elm_atspi_dbus_object_reference_append(conn, iter_struct, parent);
+
+ /* Marshall children */
+ Eina_List *children_list = NULL, *l;
+ Eo *child;
+
+ children_list = elm_interface_atspi_accessible_children_get(object);
+ iter_sub_array = eldbus_message_iter_container_new(iter_struct, 'a', "(so)");
+ EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail);
+
+ EINA_LIST_FOREACH(children_list, l, child)
+ elm_atspi_dbus_object_reference_append(conn, iter_sub_array, child);
+
+ eldbus_message_iter_container_close(iter_struct, iter_sub_array);
+ eina_list_free(children_list);
+
+ /* Marshall interfaces */
+ elm_atspi_dbus_object_interfaces_append(iter_struct, object);
+
+ /* Marshall name */
+ const char *name = NULL;
+ name = elm_interface_atspi_accessible_name_get(object);
+ if (!name)
+ name = "";
+
+ eldbus_message_iter_basic_append(iter_struct, 's', name);
+
+ /* Marshall role */
+ eldbus_message_iter_basic_append(iter_struct, 'u', role);
+
+ /* Marshall description */
+ const char* descritpion = NULL;
+ descritpion = elm_interface_atspi_accessible_description_get(object);
+ if (!descritpion)
+ descritpion = "";
+ eldbus_message_iter_basic_append(iter_struct, 's', descritpion);
+
+ /* Marshall state set */
+ iter_sub_array = eldbus_message_iter_container_new(iter_struct, 'a', "u");
+ EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail);
+
+ states = elm_interface_atspi_accessible_state_set_get(object);
+
+ unsigned int s1 = states & 0xFFFFFFFF;
+ unsigned int s2 = (states >> 32) & 0xFFFFFFFF;
+ eldbus_message_iter_basic_append(iter_sub_array, 'u', s1);
+ eldbus_message_iter_basic_append(iter_sub_array, 'u', s2);
+
+ eldbus_message_iter_container_close(iter_struct, iter_sub_array);
+ eldbus_message_iter_container_close(iter_array, iter_struct);
+
+ return;
+
+fail:
+ if (iter_struct) eldbus_message_iter_del(iter_struct);
+}
+
+static Eldbus_Message *
+_cache_get_items(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
+{
+ Eldbus_Message_Iter *iter, *iter_array;
+ Eldbus_Message *ret;
+ Eina_Iterator *cache_iterator;
+ Elm_Interface_Atspi_Accessible *accessible;
+
+ Elm_Atspi_Cache_Data *cache_data = eldbus_service_object_data_get(iface, "data");
+ if (!cache_data) return NULL;
+
+ ret = eldbus_message_method_return_new(msg);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
+
+ iter = eldbus_message_iter_get(ret);
+ iter_array = eldbus_message_iter_container_new(iter, 'a', CACHE_ITEM_SIGNATURE);
+ EINA_SAFETY_ON_NULL_GOTO(iter_array, fail);
+
+ cache_iterator = eina_hash_iterator_data_new(cache_data->cache);
+ EINA_SAFETY_ON_NULL_GOTO(iter_array, fail);
+
+ if (eina_iterator_next(cache_iterator, &accessible))
+ {
+ _cache_item_reference_append(cache_data->conn, accessible, iter_array);
+ }
+
+ eina_iterator_free(cache_iterator);
+ eldbus_message_iter_container_close(iter, iter_array);
+
+ return ret;
+fail:
+ if (ret) eldbus_message_unref(ret);
+ return NULL;
+}
+
+static const Eldbus_Method cache_methods[] = {
+ { "GetItems", NULL, ELDBUS_ARGS({CACHE_ITEM_SIGNATURE, "items"}), _cache_get_items, 0 },
+ { NULL, NULL, NULL, NULL, 0 }
+};
+
+static const Eldbus_Signal cache_signals[] = {
+ [ATSPI_CACHE_EVENT_ACCESSIBLE_ADDED] = { "AddAccessible", ELDBUS_ARGS({"((so)(so)a(so)assusau)", "added"}), 0},
+ [ATSPI_CACHE_EVENT_ACCESSIBLE_REMOVED] = { "RemoveAccessible", ELDBUS_ARGS({ "(so)", "removed" }), 0},
+ {NULL, NULL, 0}
+};
+
+static const Eldbus_Service_Interface_Desc cache_iface_desc = {
+ ATSPI_DBUS_INTERFACE_CACHE, cache_methods, cache_signals, NULL, NULL, NULL
+};
+
+EOLIAN static Elm_Atspi_Cache*
+_elm_atspi_cache_efl_object_constructor(Elm_Atspi_Cache *cache, Elm_Atspi_Cache_Data *pd)
+{
+ efl_constructor(efl_super(cache, ELM_ATSPI_CACHE_CLASS));
+
+ pd->cache_ifc = eldbus_service_interface_fallback_register(pd->conn,
+ CACHE_INTERFACE_PATH,
+ &cache_iface_desc);
+ eldbus_service_object_data_set(pd->cache_ifc, "data", pd);
+
+ if (!pd->cache_ifc)
+ return NULL;
+
+ pd->cache = eina_hash_pointer_new(NULL);
+ assert (pd->cache != NULL);
+
+ return cache;
+}
+
+EOLIAN static void
+_elm_atspi_cache_constructor(Elm_Atspi_Cache *cache, Elm_Atspi_Cache_Data *pd, Eldbus_Connection *conn)
+{
+ pd->conn = elbus_connection_ref(conn);
+ assert (pd->conn != NULL);
+}
+
+EOLIAN static void
+_elm_atspi_cache_efl_object_destructor(Elm_Atspi_Cache *cache, Elm_Atspi_Cache_Data *pd)
+{
+ eina_hash_free(pd->cache);
+ eldbus_connection_unref(pd->conn);
+ efl_destructor(efl_super(cache, ELM_ATSPI_CACHE_CLASS));
+}
+
+EOLIAN static void
+_elm_atspi_cache_add(Elm_Atspi_Cache *cache, Elm_Atspi_Cache_Data *pd, Elm_Interface_Atspi_Accessible *object)
+{
+ eina_hash_add(pd->cache, &object, object);
+}
+
+EOLIAN static void
+_elm_atspi_cache_remove(Elm_Atspi_Cache *cache, Elm_Atspi_Cache_Data *pd, Elm_Interface_Atspi_Accessible *object)
+{
+ eina_hash_del(pd->cache, &object, object);
+}
+
+EOLIAN static Eina_Bool
+_elm_atspi_cache_object_contains(Elm_Atspi_Cache *cache EINA_UNUSED, Elm_Atspi_Cache_Data *pd, Elm_Interface_Atspi_Accessible *obj)
+{
+ return eina_hash_find(pd->cache, &obj) != NULL ? EINA_TRUE : EINA_FALSE;
+}
+
+#include "elm_atspi_cache.eo.c"
diff --git a/src/lib/elementary/elm_atspi_cache.eo b/src/lib/elementary/elm_atspi_cache.eo
new file mode 100644
index 0000000000..a65fa8a711
--- /dev/null
+++ b/src/lib/elementary/elm_atspi_cache.eo
@@ -0,0 +1,25 @@
+class Elm.Atspi.Cache (Efl.Object)
+{
+ methods {
+ add {
+ params {
+ @in access: Elm.Interface.Atspi_Accessible;
+ }
+ }
+ remove {
+ params {
+ @in access: Elm.Interface.Atspi_Accessible;
+ }
+ }
+ object_contains {
+ params {
+ @in access: Elm.Interface.Atspi_Accessible;
+ }
+ return: bool;
+ }
+ }
+ implements {
+ Efl.Object.constructor;
+ Efl.Object.destructor;
+ }
+}
diff --git a/src/lib/elementary/elm_atspi_dbus_reference_private.c b/src/lib/elementary/elm_atspi_dbus_reference_private.c
new file mode 100644
index 0000000000..84916572a5
--- /dev/null
+++ b/src/lib/elementary/elm_atspi_dbus_reference_private.c
@@ -0,0 +1,54 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include <Elementary.h>
+
+#include "elm_priv.h"
+#include "atspi/atspi-constants.h"
+
+void elm_atspi_dbus_object_reference_append(Eldbus_Connection *conn, Eldbus_Message_Iter *iter, Elm_Interface_Atspi_Accessible *accessible)
+{
+ struct dbus_address addr;
+ ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd);
+ Eldbus_Message_Iter *iter_struct = eldbus_message_iter_container_new(iter, 'r', NULL);
+ EINA_SAFETY_ON_NULL_RETURN(iter);
+
+ _bridge_address_from_object(bridge, obj, &addr);
+
+ eldbus_message_iter_basic_append(iter_struct, 's', addr.bus);
+ eldbus_message_iter_basic_append(iter_struct, 'o', addr.path);
+ eldbus_message_iter_container_close(iter, iter_struct);
+}
+
+void elm_atspi_dbus_object_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj)
+{
+ Eldbus_Message_Iter *iter_array;
+ iter_array = eldbus_message_iter_container_new(iter, 'a', "s");
+ if (!iter_array) return;
+
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_ACCESSIBLE_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);
+ }
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_ACTION_MIXIN))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_ACTION);
+ if (efl_isa(obj, ELM_ATSPI_APP_OBJECT_CLASS))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_APPLICATION);
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_COMPONENT_MIXIN))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_COMPONENT);
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_TEXT_EDITABLE_INTERFACE))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_EDITABLE_TEXT);
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_IMAGE_MIXIN))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_IMAGE);
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_SELECTION_INTERFACE))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_SELECTION);
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_TEXT_INTERFACE))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_TEXT);
+ if (efl_isa(obj, ELM_INTERFACE_ATSPI_VALUE_INTERFACE))
+ eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_VALUE);
+
+ eldbus_message_iter_container_close(iter, iter_array);
+}
+
diff --git a/src/lib/elementary/elm_atspi_dbus_reference_private.h b/src/lib/elementary/elm_atspi_dbus_reference_private.h
new file mode 100644
index 0000000000..fbd48e1f67
--- /dev/null
+++ b/src/lib/elementary/elm_atspi_dbus_reference_private.h
@@ -0,0 +1,4 @@
+void elm_atspi_dbus_object_reference_append(Eldbus_Connection *conn, Eldbus_Message_Iter *iter, Elm_Interface_Atspi_Accessible *accessible);
+
+void elm_atspi_dbus_object_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj);
+
diff --git a/src/lib/elementary/elm_interface_accessible_observer.eo b/src/lib/elementary/elm_interface_accessible_observer.eo
index 55fbc82159..c804eeb215 100644
--- a/src/lib/elementary/elm_interface_accessible_observer.eo
+++ b/src/lib/elementary/elm_interface_accessible_observer.eo
@@ -1,11 +1,3 @@
-struct Elm.Accessible.Event
-{
- [[Accessibility event]]
- object: Elm.Interface.Atspi_Accessible;
- desc: const(ptr(Efl.Event.Description));
- info: void_ptr;
-}
-
interface Elm.Interface.Accessible_Observer ()
{
[[Interface should be implemented by any object that requires listening
diff --git a/src/lib/elementary/elm_interface_atspi_accessible.eo b/src/lib/elementary/elm_interface_atspi_accessible.eo
index 5b806a3942..a75ea7afbe 100644
--- a/src/lib/elementary/elm_interface_atspi_accessible.eo
+++ b/src/lib/elementary/elm_interface_atspi_accessible.eo
@@ -220,6 +220,14 @@ struct Elm.Atspi.Relation
objects: list<Efl.Object>; [[List with relation objects]]
}
+struct Elm.Accessible.Event
+{
+ [[Accessibility event]]
+ object: Elm.Interface.Atspi_Accessible;
+ desc: const(ptr(Efl.Event.Description));
+ info: void_ptr;
+}
+
type Elm.Atspi.Relation_Set: list<ptr(Elm.Atspi.Relation)>; [[Elementary AT-SPI relation set type]]
mixin Elm.Interface.Atspi_Accessible (Efl.Interface, Efl.Object)
@@ -337,7 +345,7 @@ mixin Elm.Interface.Atspi_Accessible (Efl.Interface, Efl.Object)
}
}
event_emit @class @protected {
- [[Emit event]]
+ [[Emit event]]
params {
@in accessible: Elm.Interface.Atspi_Accessible; [[Accessibility object.]]
@in event: ptr(const(Efl.Event.Description)); [[Accessibility event type.]]