jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=84a91ec6d4d9273bc8bacd798786af377e853833

commit 84a91ec6d4d9273bc8bacd798786af377e853833
Author: Jean-Philippe Andre <[email protected]>
Date:   Thu Jun 16 17:50:20 2016 +0900

    Evas: Move smart_type_check[_ptr] to legacy
---
 src/lib/evas/Evas_Legacy.h                      | 35 +++++++++++++++++++++++++
 src/lib/evas/canvas/evas_object.eo              | 31 ----------------------
 src/lib/evas/canvas/evas_object_main.c          | 12 ---------
 src/lib/evas/canvas/evas_object_smart.c         | 14 +++++-----
 src/lib/evas/canvas/evas_object_smart.eo        |  2 --
 src/lib/evas/canvas/evas_object_smart_clipped.c |  2 +-
 6 files changed, 42 insertions(+), 54 deletions(-)

diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h
index 947dbc9..cdf4992 100644
--- a/src/lib/evas/Evas_Legacy.h
+++ b/src/lib/evas/Evas_Legacy.h
@@ -4969,6 +4969,41 @@ EAPI const void       
*evas_object_smart_interface_get(const Evas_Object *obj, c
 EAPI void             *evas_object_smart_interface_data_get(const Evas_Object 
*obj, const Evas_Smart_Interface *iface);
 
 /**
+ * @brief Checks whether a given smart object or any of its smart object
+ * parents is of a given smart class.
+ *
+ * If @c obj is not a smart object, this call will fail immediately.
+ *
+ * This function supports Eo and legacy inheritance mechanisms. However, it is
+ * recommended to use @ref eo_isa instead if your object is using Eo from top
+ * to bottom.
+ *
+ * The checks use smart classes names and string comparison. There is a version
+ * of this same check using pointer comparison, since a smart class' name is a
+ * single string in Evas.
+ *
+ * See also @ref evas_object_smart_type_check_ptr.
+ *
+ * @param[in] type The name (type) of the smart class to check for.
+ *
+ * @ingroup Evas_Object
+ */
+EAPI Eina_Bool evas_object_smart_type_check(const Evas_Object *obj, const char 
*type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2);
+
+/**
+ * @brief Checks whether a given smart object or any of its smart object
+ * parents is of a given smart class, using pointer comparison.
+ *
+ * @param[in] type The type (name string) to check for. Must be the name.
+ *
+ * @return @c true if @c obj or any of its parents is of type @c type, @c false
+ * otherwise.
+ *
+ * @ingroup Evas_Object
+ */
+EAPI Eina_Bool evas_object_smart_type_check_ptr(const Evas_Object *obj, const 
char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(2);
+
+/**
  * This gets the internal counter that counts the number of smart calculations
  *
  * @param e The canvas to get the calculate counter from
diff --git a/src/lib/evas/canvas/evas_object.eo 
b/src/lib/evas/canvas/evas_object.eo
index df19118..952e97f 100644
--- a/src/lib/evas/canvas/evas_object.eo
+++ b/src/lib/evas/canvas/evas_object.eo
@@ -614,27 +614,6 @@ abstract Evas.Object (Eo.Base, Evas.Common_Interface, 
Efl.Gfx, Efl.Gfx.Stack,
                                    receiving the $keyname events.]]
          }
       }
-      smart_type_check @const {
-         [[Checks whether a given smart object or any of its smart object
-           parents is of a given smart class.
-
-           If $obj is not a smart object, this call will fail immediately.
-
-           This function supports Eo and legacy inheritance mechanisms.
-           However, it is recommended to use \@ref eo_isa instead if your
-           object is using Eo from top to bottom.
-
-           The checks use smart classes names and string comparison. There
-           is a version of this same check using pointer comparison, since
-           a smart class' name is a single string in Evas.
-
-           See also @.smart_type_check_ptr.
-         ]]
-         return: bool @warn_unused;
-         params {
-            @in type: string @nonull; [[The name (type) of the smart class to 
check for.]]
-         }
-      }
       key_ungrab {
          [[Removes the grab on $keyname key events by $obj.
 
@@ -690,16 +669,6 @@ abstract Evas.Object (Eo.Base, Evas.Common_Interface, 
Efl.Gfx, Efl.Gfx.Stack,
             @in dy: Evas.Coord; [[Vertical offset (delta).]]
          }
       }
-      smart_type_check_ptr @const {
-         [[Checks whether a given smart object or any of its smart object
-           parents is of a given smart class, using pointer comparison.
-         ]]
-         return: bool @warn_unused; [[$true if $obj or any of its parents
-                                      is of type $type, $false otherwise.]]
-         params {
-            @in type: string @nonull; [[The type (name string) to check for. 
Must be the name.]]
-         }
-      }
       @property no_render {
          get {
             [[Returns the state of the "no-render" flag, which means, when
diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index ecca759..2106a33 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -2135,18 +2135,6 @@ _evas_object_render_parent_get(Eo *eo_obj EINA_UNUSED, 
Evas_Object_Protected_Dat
    return obj->smart.parent;
 }
 
-EOLIAN static Eina_Bool
-_evas_object_smart_type_check(const Eo *eo_obj EINA_UNUSED, 
Evas_Object_Protected_Data *obj EINA_UNUSED, const char *type EINA_UNUSED)
-{
-   return EINA_FALSE;
-}
-
-EOLIAN static Eina_Bool
-_evas_object_smart_type_check_ptr(const Eo *eo_obj EINA_UNUSED, 
Evas_Object_Protected_Data *obj EINA_UNUSED, const char *type EINA_UNUSED)
-{
-   return EINA_FALSE;
-}
-
 EOLIAN static void
 _evas_object_paragraph_direction_set(Eo *eo_obj EINA_UNUSED, 
Evas_Object_Protected_Data *obj EINA_UNUSED, Evas_BiDi_Direction dir 
EINA_UNUSED)
 {
diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index e94a54b..068d1fe 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -346,15 +346,14 @@ _evas_object_smart_member_del(Eo *smart_obj, 
Evas_Smart_Data *_pd EINA_UNUSED, E
    evas_object_mapped_clip_across_mark(eo_obj, obj);
 }
 
-EOLIAN static Eina_Bool
-_evas_object_smart_evas_object_smart_type_check(const Eo *eo_obj, 
Evas_Smart_Data *o EINA_UNUSED, const char *type)
+EAPI Eina_Bool
+evas_object_smart_type_check(const Evas_Object *eo_obj, const char *type)
 {
    const Evas_Smart_Class *sc;
    Eo_Class *klass;
    Eina_Bool type_check = EINA_FALSE;
 
-   Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
-   if (!obj) return EINA_FALSE;
+   Evas_Object_Protected_Data *obj = EVAS_OBJ_GET_OR_RETURN(eo_obj, 
EINA_FALSE);
 
    klass = eina_hash_find(_evas_smart_class_names_hash_table, type);
    if (klass) type_check = eo_isa(eo_obj, klass);
@@ -376,15 +375,14 @@ _evas_object_smart_evas_object_smart_type_check(const Eo 
*eo_obj, Evas_Smart_Dat
    return type_check;
 }
 
-EOLIAN static Eina_Bool
-_evas_object_smart_evas_object_smart_type_check_ptr(const Eo *eo_obj, 
Evas_Smart_Data *o EINA_UNUSED, const char* type)
+EAPI Eina_Bool
+evas_object_smart_type_check_ptr(const Eo *eo_obj, const char* type)
 {
    Eo_Class *klass;
    const Evas_Smart_Class *sc;
    Eina_Bool type_check = EINA_FALSE;
 
-   Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, 
EVAS_OBJECT_CLASS);
-   if (!obj) return EINA_FALSE;
+   Evas_Object_Protected_Data *obj = EVAS_OBJ_GET_OR_RETURN(eo_obj, 
EINA_FALSE);
 
    klass = eina_hash_find(_evas_smart_class_names_hash_table, type);
    if (klass) type_check = eo_isa(eo_obj, klass);
diff --git a/src/lib/evas/canvas/evas_object_smart.eo 
b/src/lib/evas/canvas/evas_object_smart.eo
index 62497e3..4859528 100644
--- a/src/lib/evas/canvas/evas_object_smart.eo
+++ b/src/lib/evas/canvas/evas_object_smart.eo
@@ -304,8 +304,6 @@ class Evas.Object.Smart (Evas.Object)
       class.constructor;
       class.destructor;
       Eo.Base.constructor;
-      Evas.Object.smart_type_check_ptr;
-      Evas.Object.smart_type_check;
       Evas.Object.paragraph_direction.set;
       Evas.Object.paragraph_direction.get;
    }
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c 
b/src/lib/evas/canvas/evas_object_smart_clipped.c
index d8061de..1bdd549 100644
--- a/src/lib/evas/canvas/evas_object_smart_clipped.c
+++ b/src/lib/evas/canvas/evas_object_smart_clipped.c
@@ -36,7 +36,7 @@ _evas_object_smart_move_children_relative(Eo *eo_obj, 
Evas_Object_Protected_Data
 }
 
 static EOLIAN Evas_Object *
-_evas_object_smart_clipped_smart_clipped_clipper_get(Eo *eo_obj EINA_UNUSED, 
Evas_Object_Smart_Clipped_Data *obj)
+_evas_smart_clipped_smart_clipped_clipper_get(Eo *eo_obj EINA_UNUSED, 
Evas_Object_Smart_Clipped_Data *obj)
 {
    return obj->clipper;
 }

-- 


Reply via email to