jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=90c2fdc716e5035503c85a6a2fc0b49eb90cdcf7

commit 90c2fdc716e5035503c85a6a2fc0b49eb90cdcf7
Author: Daniel Zaoui <[email protected]>
Date:   Wed Mar 19 13:26:12 2014 +0200

    Eolian: Integration of Atspi Component Interface
---
 src/lib/Makefile.am                      |  10 ++-
 src/lib/elm_atspi_bridge.c               |  26 +++----
 src/lib/elm_atspi_object.c               | 129 +++++++++----------------------
 src/lib/elm_atspi_object_eo.h            |   7 ++
 src/lib/elm_interface_atspi_component.eo | 118 ++++++++++++++++++++++++++++
 5 files changed, 181 insertions(+), 109 deletions(-)

diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 6206408..d9fa325 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -549,7 +549,9 @@ BUILT_SOURCES = \
                elm_app_server.eo.c \
                elm_app_server.eo.h \
                elm_app_server_view.eo.c \
-               elm_app_server_view.eo.h
+               elm_app_server_view.eo.h \
+               elm_interface_atspi_component.eo.c \
+               elm_interface_atspi_component.eo.h
 
 EXTRA_DIST += \
             elm_widget.eo \
@@ -564,7 +566,8 @@ EXTRA_DIST += \
             elm_app_client.eo \
             elm_app_client_view.eo \
             elm_app_server.eo \
-            elm_app_server_view.eo
+            elm_app_server_view.eo \
+            elm_interface_atspi_component.eo
 
 nodist_includesunstable_HEADERS = \
                                  elm_widget.eo.h \
@@ -579,5 +582,6 @@ nodist_includesunstable_HEADERS = \
                                  elm_app_client.eo.h \
                                  elm_app_client_view.eo.h \
                                  elm_app_server.eo.h \
-                                 elm_app_server_view.eo.h
+                                 elm_app_server_view.eo.h \
+                                 elm_interface_atspi_component.eo.h
 
diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index 62db753..35cf0a9 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -513,7 +513,7 @@ _append_item_fn(const Eina_Hash *hash EINA_UNUSED, const 
void *key EINA_UNUSED,
   EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail);
 
   eldbus_message_iter_basic_append(iter_sub_array, 's', 
ATSPI_DBUS_INTERFACE_ACCESSIBLE);
-  if (eo_isa(data, ELM_ATSPI_COMPONENT_INTERFACE))
+  if (eo_isa(data, ELM_INTERFACE_ATSPI_COMPONENT_CLASS))
     eldbus_message_iter_basic_append(iter_sub_array, 's', 
ATSPI_DBUS_INTERFACE_COMPONENT);
 
   eldbus_message_iter_container_close(iter_struct, iter_sub_array);
@@ -606,7 +606,7 @@ _component_contains(const Eldbus_Service_Interface *iface 
EINA_UNUSED, const Eld
    if (!eldbus_message_arguments_get(msg, "iiu", &x, &y, &coord_type))
      return eldbus_message_error_new(msg, 
"org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type.");
 
-   eo_do(obj, elm_atspi_component_interface_contains(x, y, coord_type, 
&contains));
+   eo_do(obj, elm_interface_atspi_component_contains(x, y, coord_type, 
&contains));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -634,7 +634,7 @@ _component_get_accessible_at_point(const 
Eldbus_Service_Interface *iface EINA_UN
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
 
    iter = eldbus_message_iter_get(ret);
-   eo_do(obj, elm_atspi_component_interface_accessible_at_point_get(x, y, 
coord_type, &accessible));
+   eo_do(obj, elm_interface_atspi_component_accessible_at_point_get(x, y, 
coord_type, &accessible));
    object_append_reference(iter, accessible);
 
    return ret;
@@ -657,7 +657,7 @@ _component_get_extents(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
 
    iter = eldbus_message_iter_get(ret);
 
-   eo_do(obj, elm_atspi_component_interface_extents_get(&x, &y, &w, &h, 
coord_type));
+   eo_do(obj, elm_interface_atspi_component_extents_get(&x, &y, &w, &h, 
coord_type));
    iter_struct = eldbus_message_iter_container_new(iter, 'r', NULL);
    EINA_SAFETY_ON_NULL_GOTO(iter_struct, fail);
 
@@ -686,7 +686,7 @@ _component_get_position(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
    if (!eldbus_message_arguments_get(msg, "u", &coord_type))
      return eldbus_message_error_new(msg, 
"org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type.");
 
-   eo_do(obj, elm_atspi_component_interface_position_get(&x, &y, coord_type));
+   eo_do(obj, elm_interface_atspi_component_position_get(&x, &y, coord_type));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -705,7 +705,7 @@ _component_get_size(const Eldbus_Service_Interface *iface 
EINA_UNUSED, const Eld
    int x, y;
    Eldbus_Message *ret;
 
-   eo_do(obj, elm_atspi_component_interface_size_get(&x, &y));
+   eo_do(obj, elm_interface_atspi_component_size_get(&x, &y));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -724,7 +724,7 @@ _component_get_layer(const Eldbus_Service_Interface *iface 
EINA_UNUSED, const El
    int layer;
    Eldbus_Message *ret;
 
-   eo_do(obj, elm_atspi_component_interface_layer_get(&layer));
+   eo_do(obj, elm_interface_atspi_component_layer_get(&layer));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -742,7 +742,7 @@ _component_grab_focus(const Eldbus_Service_Interface *iface 
EINA_UNUSED, const E
    Eldbus_Message *ret;
    Eina_Bool focus;
 
-   eo_do(obj, elm_atspi_component_interface_focus_grab(&focus));
+   eo_do(obj, elm_interface_atspi_component_focus_grab(&focus));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -760,7 +760,7 @@ _component_get_alpha(const Eldbus_Service_Interface *iface 
EINA_UNUSED, const El
    Eldbus_Message *ret;
    double alpha;
 
-   eo_do(obj, elm_atspi_component_interface_alpha_get(&alpha));
+   eo_do(obj, elm_interface_atspi_component_alpha_get(&alpha));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -783,7 +783,7 @@ _component_set_extends(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
    if (!eldbus_message_arguments_get(msg, "iiiiu", &x, &y, &w, &h, 
&coord_type))
      return eldbus_message_error_new(msg, 
"org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type.");
 
-   eo_do(obj, elm_atspi_component_interface_extents_set(x, y, w, h, 
coord_type, &result));
+   eo_do(obj, elm_interface_atspi_component_extents_set(x, y, w, h, 
coord_type, &result));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -806,7 +806,7 @@ _component_set_position(const Eldbus_Service_Interface 
*iface EINA_UNUSED, const
    if (!eldbus_message_arguments_get(msg, "iiu", &x, &y, &coord_type))
      return eldbus_message_error_new(msg, 
"org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type.");
 
-   eo_do(obj, elm_atspi_component_interface_position_set(x, y, coord_type, 
&result));
+   eo_do(obj, elm_interface_atspi_component_position_set(x, y, coord_type, 
&result));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -828,7 +828,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.");
 
-   eo_do(obj, elm_atspi_component_interface_size_set(w, h, &result));
+   eo_do(obj, elm_interface_atspi_component_size_set(w, h, &result));
 
    ret = eldbus_message_method_return_new(msg);
    EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL);
@@ -898,7 +898,7 @@ _cache_object_register_interfaces(const char *path, 
Elm_Atspi_Object *node)
    eo_do(node, eo_base_data_set("atspi_event_interface", events, NULL));
    eo_do(node, eo_event_callback_add(EO_EV_DEL, _cache_object_del_cb, 
accessible));
 
-   if (eo_isa(node, ELM_ATSPI_COMPONENT_INTERFACE))
+   if (eo_isa(node, ELM_INTERFACE_ATSPI_COMPONENT_CLASS))
      eldbus_service_interface_register(_a11y_bus, path, &component_iface_desc);
 
    if (eo_isa(node, ELM_ATSPI_WINDOW_INTERFACE))
diff --git a/src/lib/elm_atspi_object.c b/src/lib/elm_atspi_object.c
index 589d4a2..7a3fd64 100644
--- a/src/lib/elm_atspi_object.c
+++ b/src/lib/elm_atspi_object.c
@@ -450,12 +450,12 @@ _class_constructor(Eo_Class *klass)
         EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_DESCRIPTION_GET), 
_description_get),
         
EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_LOCALIZED_ROLE_NAME_GET), 
_localized_role_name_get),
         EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_STATE_GET), 
_state_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_ACCESSIBLE_AT_POINT_GET),
 _comp_access_at_point_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_EXTENTS_GET),
 _comp_extents_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_EXTENTS_SET),
 _comp_extents_set),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_LAYER_GET),
 _comp_layer_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_Z_ORDER_GET),
 _comp_z_order_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_ALPHA_GET),
 _comp_alpha_get),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_ACCESSIBLE_AT_POINT_GET),
 _comp_access_at_point_get),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_EXTENTS_GET),
 _comp_extents_get),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_EXTENTS_SET),
 _comp_extents_set),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_LAYER_GET),
 _comp_layer_get),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_Z_ORDER_GET),
 _comp_z_order_get),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_ALPHA_GET),
 _comp_alpha_get),
         EO_OP_FUNC_SENTINEL
    };
    eo_class_funcs_set(klass, func_desc);
@@ -497,117 +497,57 @@ static const Eo_Class_Description class_desc = {
      NULL
 };
 
-EO_DEFINE_CLASS(elm_atspi_obj_class_get, &class_desc, EO_BASE_CLASS, 
ELM_ATSPI_COMPONENT_INTERFACE, NULL);
+EO_DEFINE_CLASS(elm_atspi_obj_class_get, &class_desc, EO_BASE_CLASS, 
ELM_INTERFACE_ATSPI_COMPONENT_CLASS, NULL);
 
 // Component interface
-EAPI Eo_Op ELM_ATSPI_COMPONENT_INTERFACE_BASE_ID = EO_NOOP;
-
-static void
-_comp_interface_position_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, 
va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_interface_atspi_component_position_get(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED,int *x, int *y, AtspiCoordType type)
 {
-   EO_PARAMETER_GET(int *, x, list);
-   EO_PARAMETER_GET(int *, y, list);
-   EO_PARAMETER_GET(AtspiCoordType, type, list);
-
-   eo_do(obj, elm_atspi_component_interface_extents_get(x, y, NULL, NULL, 
type));
+   eo_do(obj, elm_interface_atspi_component_extents_get(x, y, NULL, NULL, 
type));
 }
 
-static void
-_comp_interface_position_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, 
va_list *list EINA_UNUSED)
+EOLIAN static Eina_Bool
+_elm_interface_atspi_component_position_set(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED, int x, int y, AtspiCoordType type)
 {
-   EO_PARAMETER_GET(int, x, list);
-   EO_PARAMETER_GET(int, y, list);
-   EO_PARAMETER_GET(AtspiCoordType, type, list);
-   EO_PARAMETER_GET(Eina_Bool*, ret, list);
+   Eina_Bool ret = EINA_FALSE;
    int c_w, c_h;
 
-   eo_do(obj, elm_atspi_component_interface_extents_get(NULL, NULL, &c_w, 
&c_h, type));
-   eo_do(obj, elm_atspi_component_interface_extents_set(x, y, c_w, c_h, type, 
ret));
+   eo_do(obj, elm_interface_atspi_component_extents_get(NULL, NULL, &c_w, 
&c_h, type));
+   eo_do(obj, elm_interface_atspi_component_extents_set(x, y, c_w, c_h, type, 
&ret));
+   return ret;
 }
 
-static void
-_comp_interface_size_set(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
+EOLIAN static Eina_Bool
+_elm_interface_atspi_component_size_set(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED, int w, int h)
 {
-   EO_PARAMETER_GET(int, w, list);
-   EO_PARAMETER_GET(int, h, list);
-   EO_PARAMETER_GET(Eina_Bool*, ret, list);
+   Eina_Bool ret = EINA_FALSE;
    int c_x, c_y;
 
-   eo_do(obj, elm_atspi_component_interface_extents_get(&c_x, &c_y, NULL, 
NULL, ATSPI_COORD_TYPE_WINDOW));
-   eo_do(obj, elm_atspi_component_interface_extents_set(c_x, c_y, w, h, 
ATSPI_COORD_TYPE_WINDOW, ret));
+   eo_do(obj, elm_interface_atspi_component_extents_get(&c_x, &c_y, NULL, 
NULL, ATSPI_COORD_TYPE_WINDOW));
+   eo_do(obj, elm_interface_atspi_component_extents_set(c_x, c_y, w, h, 
ATSPI_COORD_TYPE_WINDOW, &ret));
+   return ret;
 }
 
-static void
-_comp_interface_size_get(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list 
*list EINA_UNUSED)
+EOLIAN static void
+_elm_interface_atspi_component_size_get(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED, int *w, int *h)
 {
-   EO_PARAMETER_GET(int*, w, list);
-   EO_PARAMETER_GET(int*, h, list);
-
-   eo_do(obj, elm_atspi_component_interface_extents_get(NULL,  NULL, w, h, 
ATSPI_COORD_TYPE_WINDOW));
+   eo_do(obj, elm_interface_atspi_component_extents_get(NULL,  NULL, w, h, 
ATSPI_COORD_TYPE_WINDOW));
 }
 
-static void
-_comp_interface_contains(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list 
*list)
+EOLIAN static Eina_Bool
+_elm_interface_atspi_component_contains(Eo *obj EINA_UNUSED, void *_pd 
EINA_UNUSED,
+      int x, int y, AtspiCoordType type)
 {
-   EO_PARAMETER_GET(int, x, list);
-   EO_PARAMETER_GET(int, y, list);
-   EO_PARAMETER_GET(AtspiCoordType, type, list);
-   EO_PARAMETER_GET(Eina_Bool*, ret, list);
    int w_x, w_y, w_w, w_h;
 
-   if (ret) *ret = EINA_FALSE;
-
-   if (!eo_do(obj, elm_atspi_component_interface_extents_get(&w_x, &w_y, &w_w, 
&w_h, type)))
-      return;
+   if (!eo_do(obj, elm_interface_atspi_component_extents_get(&w_x, &w_y, &w_w, 
&w_h, type)))
+      return EINA_FALSE;
 
    if ((x >= w_x) && (x <= w_x + w_w) && (y >= w_y) && (y <= w_y + w_h))
-     if (ret) *ret = EINA_TRUE;
-}
-
-static void
-_component_interface_constructor(Eo_Class *klass)
-{
-   const Eo_Op_Func_Description func_desc[] = {
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_POSITION_GET),
 _comp_interface_position_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_POSITION_SET),
 _comp_interface_position_set),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_CONTAINS),
 _comp_interface_contains),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_SIZE_GET),
 _comp_interface_size_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_SIZE_SET),
 _comp_interface_size_set),
-        EO_OP_FUNC_SENTINEL
-   };
-   eo_class_funcs_set(klass, func_desc);
+     return EINA_TRUE;
+   return EINA_FALSE;
 }
 
-
-static const Eo_Op_Description component_op_desc[] = {
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_CONTAINS, ""),
-   
EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_ACCESSIBLE_AT_POINT_GET, 
""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_EXTENTS_GET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_EXTENTS_SET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_POSITION_GET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_POSITION_SET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_SIZE_GET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_SIZE_SET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_LAYER_GET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_Z_ORDER_GET, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_FOCUS_GRAB, ""),
-   EO_OP_DESCRIPTION(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_ALPHA_GET, ""),
-   EO_OP_DESCRIPTION_SENTINEL
-};
-
-static const Eo_Class_Description component_interface_desc = {
-     EO_VERSION,
-     "Elm_Atspi_Component_Interface",
-     EO_CLASS_TYPE_MIXIN,
-     EO_CLASS_DESCRIPTION_OPS(&ELM_ATSPI_COMPONENT_INTERFACE_BASE_ID, 
component_op_desc, ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_LAST),
-     NULL,
-     0,
-     _component_interface_constructor,
-     NULL
-};
-
-EO_DEFINE_CLASS(elm_atspi_component_interface_get, &component_interface_desc, 
NULL, NULL);
-
 // Window Interface
 
 static const Eo_Event_Description *window_event_desc[] = {
@@ -789,7 +729,7 @@ _widget_class_constructor(Eo_Class *klass)
         EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_PARENT_GET), 
_widget_parent_get),
         EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_CHILDREN_GET), 
_widget_children_get),
         EO_OP_FUNC(ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_STATE_GET), 
_widget_state_get),
-        
EO_OP_FUNC(ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_FOCUS_GRAB),
 _widget_comp_focus_grab),
+        
EO_OP_FUNC(ELM_INTERFACE_ATSPI_COMPONENT_ID(ELM_INTERFACE_ATSPI_COMPONENT_SUB_ID_FOCUS_GRAB),
 _widget_comp_focus_grab),
         EO_OP_FUNC_SENTINEL
    };
    eo_class_funcs_set(klass, func_desc);
@@ -1051,3 +991,6 @@ void _elm_atspi_object_global_callback_del(Eo_Event_Cb cb)
           }
      }
 }
+
+#include "elm_interface_atspi_component.eo.c"
+
diff --git a/src/lib/elm_atspi_object_eo.h b/src/lib/elm_atspi_object_eo.h
index 7248463..c02d5ce 100644
--- a/src/lib/elm_atspi_object_eo.h
+++ b/src/lib/elm_atspi_object_eo.h
@@ -43,6 +43,9 @@ extern const Eo_Event_Description _EV_ATSPI_OBJ_STATE_CHANGED;
 #define EV_ATSPI_OBJ_STATE_CHANGED (&(_EV_ATSPI_OBJ_STATE_CHANGED))
 
 /* Component Interface */
+#include "elm_interface_atspi_component.eo.h"
+
+#if 0
 #define ELM_ATSPI_COMPONENT_INTERFACE elm_atspi_component_interface_get()
 
 const Eo_Class *elm_atspi_component_interface_get(void) EINA_CONST;
@@ -67,6 +70,7 @@ enum
 };
 
 #define ELM_ATSPI_COMPONENT_INTERFACE_ID(sub_id) 
(ELM_ATSPI_COMPONENT_INTERFACE_BASE_ID + sub_id)
+#endif
 /* Component Interface - END */
 
 /* Window Interface */
@@ -335,6 +339,7 @@ enum
    ELM_ATSPI_OBJ_ID(ELM_ATSPI_OBJ_SUB_ID_ATTRIBUTES_GET),\
    EO_TYPECHECK()
 
+#if 0
 /**
  * @def elm_atspi_component_interface_contains
  * @since 1.10
@@ -500,3 +505,5 @@ enum
 #define elm_atspi_component_interface_alpha_get(ret)\
    
ELM_ATSPI_COMPONENT_INTERFACE_ID(ELM_ATSPI_COMPONENT_INTERFACE_SUB_ID_ALPHA_GET),\
    EO_TYPECHECK(double*, ret)
+#endif
+
diff --git a/src/lib/elm_interface_atspi_component.eo 
b/src/lib/elm_interface_atspi_component.eo
new file mode 100644
index 0000000..de2ba74
--- /dev/null
+++ b/src/lib/elm_interface_atspi_component.eo
@@ -0,0 +1,118 @@
+mixin Elm_Interface_Atspi_Component ()
+{
+   eo_prefix: elm_interface_atspi_component;
+   data: null;
+   properties {
+      size {
+         set {
+            return Eina_Bool;
+            legacy null;
+         }
+         get {
+            legacy null;
+         }
+         values {
+            int x;
+            int y;
+         }
+      }
+      layer {
+         get {
+            legacy null;
+         }
+         values {
+            int ret;
+         }
+      }
+      alpha {
+         get {
+            legacy null;
+         }
+         values {
+            double ret; /*@ alpha */
+         }
+      }
+      z_order {
+         get {
+            legacy null;
+         }
+         values {
+            int ret;
+         }
+      }
+   }
+   methods {
+      extents_set {
+         params {
+            @in int x;
+            @in int y;
+            @in int w;
+            @in int h;
+            @in AtspiCoordType type;
+         }
+         return Eina_Bool;
+         legacy null;
+      }
+      extents_get {
+         params {
+            @out int x;
+            @out int y;
+            @out int w;
+            @out int h;
+            @in AtspiCoordType type;
+         }
+         legacy null;
+      }
+      contains {
+         legacy null;
+         params {
+            @in int x;
+            @in int y;
+            @in AtspiCoordType type;
+         }
+         return Eina_Bool;
+      }
+      focus_grab {
+         legacy null;
+         params {
+            @out Eina_Bool ret;
+         }
+      }
+      accessible_at_point_get {
+         legacy null;
+         params {
+            @in int x;
+            @in int y;
+            @in AtspiCoordType type;
+            @out Elm_Atspi_Object *ret;
+         }
+      }
+      position_set {
+         legacy null;
+         params {
+            @in int x;
+            @in int y;
+            @in AtspiCoordType type;
+         }
+         return Eina_Bool;
+      }
+      position_get {
+         legacy null;
+         params {
+            @out int x;
+            @out int y;
+            @in AtspiCoordType type;
+         }
+      }
+   }
+   implements {
+      virtual::z_order::get;
+      virtual::layer::get;
+      virtual::extents_set;
+      virtual::extents_get;
+      virtual::accessible_at_point_get;
+      virtual::focus_grab;
+      virtual::alpha::get;
+   }
+
+}

-- 


Reply via email to