yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=481b02716c9dc2eb81e6a0ad0fc58314f916cd0c

commit 481b02716c9dc2eb81e6a0ad0fc58314f916cd0c
Author: Yakov Goldberg <yako...@samsung.com>
Date:   Mon May 25 07:41:21 2015 +0300

    Adapt to Eolian API changes
    
    Change usage of eolian_properties_* APIs
---
 src/lib/database.c | 60 ++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 42 insertions(+), 18 deletions(-)

diff --git a/src/lib/database.c b/src/lib/database.c
index dc4f41e..90c917f 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -480,22 +480,47 @@ _enum_types_table_init(Eina_Hash *typedef_table)
  * params_list must be freed.
  * */
 static Eina_List*
-_eolian_func_params_get(const Eolian_Function *func)
+_eolian_func_params_get(const Eolian_Function *func, Eolian_Function_Type 
ftype)
 {
    Eina_List *list = NULL;
    void *data;
-   Eina_Iterator *itr = eolian_property_keys_get(func);
-   EINA_ITERATOR_FOREACH(itr, data)
-     {
-        list = eina_list_append(list, data);
-     }
-   eina_iterator_free(itr);
-   itr = eolian_property_values_get(func);
-   EINA_ITERATOR_FOREACH(itr, data)
+
+   switch (ftype)
      {
-        list = eina_list_append(list, data);
+      case EOLIAN_UNRESOLVED:
+         break;
+      case EOLIAN_METHOD:
+           {
+              Eina_Iterator *itr = eolian_function_parameters_get(func);
+              EINA_ITERATOR_FOREACH(itr, data)
+                {
+                   list = eina_list_append(list, data);
+                }
+              eina_iterator_free(itr);
+              break;
+           }
+      case EOLIAN_PROPERTY:
+      case EOLIAN_PROP_GET:
+      case EOLIAN_PROP_SET:
+           {
+              ftype = (ftype == EOLIAN_PROPERTY) ? EOLIAN_PROP_GET : ftype;
+              Eina_Iterator *itr = eolian_property_keys_get(func, ftype);
+              EINA_ITERATOR_FOREACH(itr, data)
+                {
+                   list = eina_list_append(list, data);
+                }
+              eina_iterator_free(itr);
+              itr = eolian_property_values_get(func, ftype);
+              EINA_ITERATOR_FOREACH(itr, data)
+                {
+                   list = eina_list_append(list, data);
+                }
+              eina_iterator_free(itr);
+              break;
+           }
      }
-   eina_iterator_free(itr);
+
+
    return list;
 }
 
@@ -1038,8 +1063,8 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
    eina_hash_add(typedef_table, "Elm_Radio *", (void *) (uintptr_t) 
GUI_TYPE_OBJECT);
    eina_hash_add(typedef_table, "Eina_Bool", (void *) (uintptr_t) 
GUI_TYPE_BOOL);
    eina_hash_add(typedef_table, "bool", (void *) (uintptr_t) GUI_TYPE_BOOL);
-   eina_hash_add(typedef_table, "const char *", (void *) (uintptr_t) 
GUI_TYPE_STRING);
-   eina_hash_add(typedef_table, "const void *", (void *) (uintptr_t) 
GUI_TYPE_VOID);
+   eina_hash_add(typedef_table, "char *", (void *) (uintptr_t) 
GUI_TYPE_STRING);
+   eina_hash_add(typedef_table, "void *", (void *) (uintptr_t) GUI_TYPE_VOID);
    eina_hash_add(typedef_table, "Evas_Smart_Cb", (void *) (uintptr_t) 
GUI_TYPE_CB);
    eina_hash_add(typedef_table, "Elm_Interface_Scrollable_Min_Limit_Cb", (void 
*) (uintptr_t) GUI_TYPE_CB);
    eina_hash_add(typedef_table, "Elm_Object_Item *", (void *) (uintptr_t) 
GUI_TYPE_OBJECT_ITEM);
@@ -1130,7 +1155,6 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
                          ERR("DLSYM not found for %s", op_desc->func_set_name);
                        free(func_set_name);
                     }
-
                   /* if method is not PROPERTY or PROP_GET, NULL will be 
returned. */
                   func_get_name = _class_func_get_name_get(func);
                   /* Name of get function is not saved, because we don't need 
to generate it. */
@@ -1206,7 +1230,8 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
                   /* Copying parameters from table to Eina List */
                     {
                        /* params list must be freed */
-                       Eina_List *params_list = _eolian_func_params_get(func);
+                       Eina_List *params_list = _eolian_func_params_get(func, 
f_type);
+
                        /* Iterate over parameters in order to assign GUI_TYPE,
                         * and types overrides. */
                        int i = 0;
@@ -1229,7 +1254,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
                                      (eolian_type_type_get(base) == 
EOLIAN_TYPE_CLASS))
                                    {
                                       c_type = eolian_type_name_get(base);
-                                      sprintf(c_type2, "%s%s *", 
eolian_type_is_const(base) ? "const " : "", c_type);
+                                      sprintf(c_type2, "%s *", c_type);
                                    }
                                  else if (eolian_type_type_get(base) == 
EOLIAN_TYPE_POINTER)
                                    {
@@ -1237,8 +1262,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
                                    }
                                  else if (eolian_type_type_get(base) == 
EOLIAN_TYPE_VOID)
                                    {
-                                      c_type = "void";
-                                      sprintf(c_type2, "%s%s *", 
eolian_type_is_const(base) ? "const " : "", c_type);
+                                      sprintf(c_type2, "void *");
                                    }
                                  else if (eolian_type_type_get(base) == 
EOLIAN_TYPE_ENUM)
                                    {

-- 


Reply via email to