eolian: refactoring step four
authorDaniel Kolesa <d.kolesa@samsung.com>
Wed, 9 Jul 2014 16:01:19 +0000 (17:01 +0100)
committerDaniel Kolesa <d.kolesa@samsung.com>
Wed, 9 Jul 2014 16:01:19 +0000 (17:01 +0100)
Move from all isntances of Eolian_Function_Parameter to Eolian_Function_Parameter* plus const fixes.

src/bin/eolian/eo_generator.c
src/bin/eolian/impl_generator.c
src/bin/eolian/legacy_generator.c
src/bin/eolian_cxx/convert.cc
src/bin/eolian_cxx/convert_comments.cc
src/bin/eolian_cxx/eolian_wrappers.hh
src/lib/eolian/Eolian.h
src/lib/eolian/eo_parser.c
src/lib/eolian/eolian_database.c
src/lib/eolian/eolian_database.h

index 2dd7156..29be0cd 100644 (file)
@@ -106,7 +106,7 @@ eo_fundef_generate(const Eolian_Class *class, Eolian_Function func, Eolian_Funct
              if (eina_list_count(l) == 1)
                {
                   data = eina_list_data_get(l);
-                  eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &rettypet, NULL, NULL);
+                  eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &rettypet, NULL, NULL);
                   var_as_ret = EINA_TRUE;
                   ret_const = eolian_parameter_const_attribute_get(data, EINA_TRUE);
                }
@@ -156,7 +156,7 @@ eo_fundef_generate(const Eolian_Class *class, Eolian_Function func, Eolian_Funct
         const char *pname;
         const char *ptype;
         const char *pdesc = NULL;
-        eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &ptypet, &pname, &pdesc);
+        eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &ptypet, &pname, &pdesc);
 
         ptype = eolian_type_c_type_get(ptypet);
 
@@ -177,7 +177,7 @@ eo_fundef_generate(const Eolian_Class *class, Eolian_Function func, Eolian_Funct
              const char *pdesc;
              Eina_Bool add_star = EINA_FALSE;
              Eolian_Parameter_Dir pdir;
-             eolian_parameter_information_get((Eolian_Function_Parameter)data, &pdir, &ptypet, &pname, &pdesc);
+             eolian_parameter_information_get((Eolian_Function_Parameter*)data, &pdir, &ptypet, &pname, &pdesc);
 
              ptype = eolian_type_c_type_get(ptypet);
 
@@ -357,7 +357,7 @@ eo_bind_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eolian_
              if (eina_list_count(l) == 1)
                {
                   void* data = eina_list_data_get(l);
-                  eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &rettypet, &retname, NULL);
+                  eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &rettypet, &retname, NULL);
                   var_as_ret = EINA_TRUE;
                   ret_const = eolian_parameter_const_attribute_get(data, EINA_TRUE);
                }
@@ -376,7 +376,7 @@ eo_bind_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eolian_
         Eolian_Type ptypet;
         const char *pname;
         const char *ptype;
-        eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &ptypet, &pname, NULL);
+        eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &ptypet, &pname, NULL);
 
         ptype = eolian_type_c_type_get(ptypet);
 
@@ -396,7 +396,7 @@ eo_bind_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eolian_
              const char *pname;
              const char *ptype;
              Eolian_Parameter_Dir pdir;
-             eolian_parameter_information_get((Eolian_Function_Parameter)data, &pdir, &ptypet, &pname, NULL);
+             eolian_parameter_information_get((Eolian_Function_Parameter*)data, &pdir, &ptypet, &pname, NULL);
 
              ptype = eolian_type_c_type_get(ptypet);
 
index 0aeb45e..06b7649 100644 (file)
@@ -11,7 +11,7 @@ static Eina_Bool
 _params_generate(Eolian_Function foo, Eolian_Function_Type ftype, Eina_Bool var_as_ret, Eina_Strbuf *params, Eina_Strbuf *short_params)
 {
    const Eina_List *itr;
-   Eolian_Function_Parameter param;
+   Eolian_Function_Parameter *param;
    eina_strbuf_reset(params);
    eina_strbuf_reset(short_params);
    EINA_LIST_FOREACH(eolian_property_keys_list_get(foo), itr, param)
@@ -148,7 +148,7 @@ _prototype_generate(Eolian_Function foo, Eolian_Function_Type ftype, Eina_Strbuf
         const Eina_List *l = eolian_parameters_list_get(foo);
         if (eina_list_count(l) == 1)
           {
-             Eolian_Function_Parameter param = eina_list_data_get(l);
+             Eolian_Function_Parameter *param = eina_list_data_get(l);
              eolian_parameter_information_get(param, NULL, &rettypet, NULL, NULL);
              var_as_ret = EINA_TRUE;
              ret_const = eolian_parameter_const_attribute_get(param, EINA_TRUE);
index 5c7d025..1f9bf5f 100644 (file)
@@ -74,7 +74,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eoli
              if (eina_list_count(l) == 1)
                {
                   data = eina_list_data_get(l);
-                  eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &rettypet, NULL, NULL);
+                  eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &rettypet, NULL, NULL);
                   var_as_ret = EINA_TRUE;
                   ret_const = eolian_parameter_const_attribute_get(data, EINA_TRUE);
                }
@@ -110,7 +110,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eoli
         const char *pname;
         const char *pdesc;
         const char *ptype;
-        eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &ptypet, &pname, &pdesc);
+        eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &ptypet, &pname, &pdesc);
         ptype = eolian_type_c_type_get(ptypet);
         leg_param_idx++;
         eina_strbuf_append_printf(fparam, ", %s%s %s",
@@ -118,7 +118,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eoli
               ptype, pname);
         eina_stringshare_del(ptype);
         eina_strbuf_append_printf(descparam, " * @param[in] %s %s\n", pname, pdesc?pdesc:"No description supplied.");
-        if (eolian_parameter_is_nonull((Eolian_Function_Parameter)data))
+        if (eolian_parameter_is_nonull((Eolian_Function_Parameter*)data))
           {
              if (!flags)
                {
@@ -139,7 +139,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eoli
             const char *ptype;
             Eolian_Parameter_Dir pdir;
             const char *str_dir[] = {"in", "out", "inout"};
-            eolian_parameter_information_get((Eolian_Function_Parameter)data, &pdir, &ptypet, &pname, &pdesc);
+            eolian_parameter_information_get((Eolian_Function_Parameter*)data, &pdir, &ptypet, &pname, &pdesc);
             ptype = eolian_type_c_type_get(ptypet);
             Eina_Bool had_star = !!strchr(ptype, '*');
             if (ftype == EOLIAN_UNRESOLVED || ftype == EOLIAN_METHOD) add_star = (pdir == EOLIAN_OUT_PARAM || pdir == EOLIAN_INOUT_PARAM);
@@ -152,7 +152,7 @@ _eapi_decl_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eoli
             eina_stringshare_del(ptype);
             const char *dir_str = str_dir[(int)pdir];
             eina_strbuf_append_printf(descparam, " * @param[%s] %s %s\n", dir_str, pname, pdesc?pdesc:"No description supplied.");
-            if (eolian_parameter_is_nonull((Eolian_Function_Parameter)data))
+            if (eolian_parameter_is_nonull((Eolian_Function_Parameter*)data))
               {
                  if (!flags)
                    {
@@ -228,7 +228,7 @@ _eapi_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eolian_Fu
              if (eina_list_count(l) == 1)
                {
                   void* data = eina_list_data_get(l);
-                  eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &rettypet, &retname, NULL);
+                  eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &rettypet, &retname, NULL);
                   var_as_ret = EINA_TRUE;
                   ret_const = eolian_parameter_const_attribute_get(data, EINA_TRUE);
                }
@@ -257,7 +257,7 @@ _eapi_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eolian_Fu
         Eolian_Type ptypet;
         const char *pname;
         const char *ptype;
-        eolian_parameter_information_get((Eolian_Function_Parameter)data, NULL, &ptypet, &pname, NULL);
+        eolian_parameter_information_get((Eolian_Function_Parameter*)data, NULL, &ptypet, &pname, NULL);
         ptype = eolian_type_c_type_get(ptypet);
         eina_strbuf_append_printf(fparam, ", %s%s %s",
               eolian_parameter_const_attribute_get(data, ftype == EOLIAN_PROP_GET)?"const ":"",
@@ -274,7 +274,7 @@ _eapi_func_generate(const Eolian_Class *class, Eolian_Function funcid, Eolian_Fu
             const char *pname;
             const char *ptype;
             Eolian_Parameter_Dir pdir;
-            eolian_parameter_information_get((Eolian_Function_Parameter)data, &pdir, &ptypet, &pname, NULL);
+            eolian_parameter_information_get((Eolian_Function_Parameter*)data, &pdir, &ptypet, &pname, NULL);
             ptype = eolian_type_c_type_get(ptypet);
             Eina_Bool had_star = !!strchr(ptype, '*');
             if (ftype == EOLIAN_UNRESOLVED || ftype == EOLIAN_METHOD) add_star = (pdir == EOLIAN_OUT_PARAM || pdir == EOLIAN_INOUT_PARAM);
index 066dc77..d0ce384 100644 (file)
@@ -34,8 +34,8 @@ convert_eolian_parameters(Eina_List const* parameters,
    efl::eolian::parameters_container_type list;
    EINA_LIST_FOREACH (parameters, it, curr)
      {
-        Eolian_Function_Parameter id =
-          (static_cast<Eolian_Function_Parameter>(curr));
+        const Eolian_Function_Parameter *id =
+          (static_cast<const Eolian_Function_Parameter*>(curr));
         list.push_back
           ({
              parameter_type(id, func_type),
index 6dd0c2c..5331b3c 100644 (file)
@@ -5,7 +5,7 @@
 namespace eolian_cxx {
 
 static std::string
-_comment_parameter(Eolian_Function_Parameter param)
+_comment_parameter(Eolian_Function_Parameter *param)
 {
    Eolian_Parameter_Dir direction;
    Eina_Stringshare *description;
@@ -35,7 +35,7 @@ _comment_parameters_list(const Eina_List *params)
    EINA_LIST_FOREACH (params, it, curr)
      {
         doc += _comment_parameter
-          (static_cast<Eolian_Function_Parameter>(curr)) + "\n";
+          (static_cast<Eolian_Function_Parameter*>(curr)) + "\n";
      }
    return doc;
 }
index 92e9c5e..d4e8eb8 100644 (file)
@@ -234,13 +234,13 @@ property_is_setter(Eolian_Function const& func)
 }
 
 inline std::string
-parameter_name(Eolian_Function_Parameter const& parameter)
+parameter_name(Eolian_Function_Parameter const *& parameter)
 {
    return safe_strshare(::eolian_parameter_name_get(parameter)) + "_";
 }
 
 inline bool
-parameter_is_out(Eolian_Function_Parameter const& parameter)
+parameter_is_out(Eolian_Function_Parameter const *& parameter)
 {
    Eolian_Parameter_Dir direction;
    ::eolian_parameter_information_get(parameter, &direction, NULL, NULL, NULL);
@@ -248,7 +248,7 @@ parameter_is_out(Eolian_Function_Parameter const& parameter)
 }
 
 inline bool
-parameter_is_const(Eolian_Function_Parameter const& parameter,
+parameter_is_const(Eolian_Function_Parameter const *& parameter,
                    Eolian_Function_Type func_type)
 {
    return ::eolian_parameter_const_attribute_get
@@ -256,7 +256,7 @@ parameter_is_const(Eolian_Function_Parameter const& parameter,
 }
 
 inline bool
-parameter_is_const(Eolian_Function_Parameter const& parameter,
+parameter_is_const(Eolian_Function_Parameter const *& parameter,
                    getter_t func_type)
 {
    return ::eolian_parameter_const_attribute_get
@@ -264,7 +264,7 @@ parameter_is_const(Eolian_Function_Parameter const& parameter,
 }
 
 inline bool
-parameter_is_const(Eolian_Function_Parameter const& parameter,
+parameter_is_const(Eolian_Function_Parameter const *& parameter,
                    setter_t func_type)
 {
    return ::eolian_parameter_const_attribute_get
@@ -272,7 +272,7 @@ parameter_is_const(Eolian_Function_Parameter const& parameter,
 }
 
 inline bool
-parameter_is_const(Eolian_Function_Parameter const& parameter,
+parameter_is_const(Eolian_Function_Parameter const *& parameter,
                    Eolian_Function const& func)
 {
    assert(function_type(func) != EOLIAN_PROPERTY);
@@ -281,7 +281,7 @@ parameter_is_const(Eolian_Function_Parameter const& parameter,
 }
 
 inline efl::eolian::eolian_type_instance
-parameter_type(Eolian_Function_Parameter const& parameter,
+parameter_type(Eolian_Function_Parameter const *& parameter,
                Eolian_Function_Type func_type = method_t::value)
 {
    efl::eolian::eolian_type_instance type
@@ -296,13 +296,13 @@ parameter_type(Eolian_Function_Parameter const& parameter,
 }
 
 inline efl::eolian::eolian_type_instance
-parameter_type(Eolian_Function_Parameter const& parameter, getter_t func_type)
+parameter_type(Eolian_Function_Parameter const *& parameter, getter_t func_type)
 {
    return parameter_type(parameter, func_type.value);
 }
 
 inline efl::eolian::eolian_type_instance
-parameter_type(Eolian_Function_Parameter const& parameter, setter_t func_type)
+parameter_type(Eolian_Function_Parameter const *& parameter, setter_t func_type)
 {
    return parameter_type(parameter, func_type.value);
 }
index efa321f..899bd95 100644 (file)
@@ -60,7 +60,7 @@ typedef struct _Eolian_Type* Eolian_Type;
  *
  * @ingroup Eolian
  */
-typedef struct _Eolian_Function_Parameter* Eolian_Function_Parameter;
+typedef struct _Eolian_Function_Parameter Eolian_Function_Parameter;
 
 /* Class implement information
  *
@@ -472,13 +472,13 @@ EAPI Eina_Bool eolian_function_is_virtual_pure(Eolian_Function function_id, Eoli
  *
  * @ingroup Eolian
  */
-EAPI Eolian_Function_Parameter eolian_function_parameter_get(const Eolian_Function function_id, const char *param_name);
+EAPI Eolian_Function_Parameter *eolian_function_parameter_get(const Eolian_Function function_id, const char *param_name);
 
 /*
  * @brief Returns a list of keys params of a given function.
  *
  * @param[in] function_id Id of the function
- * @return list of Eolian_Function_Parameter
+ * @return list of Eolian_Function_Parameter*
  *
  * @ingroup Eolian
  */
@@ -488,7 +488,7 @@ EAPI const Eina_List *eolian_property_keys_list_get(Eolian_Function foo_id);
  * @brief Returns a list of values params of a given function.
  *
  * @param[in] function_id Id of the function
- * @return list of Eolian_Function_Parameter
+ * @return list of Eolian_Function_Parameter*
  *
  * @ingroup Eolian
  */
@@ -498,7 +498,7 @@ EAPI const Eina_List *eolian_property_values_list_get(Eolian_Function foo_id);
  * @brief Returns a list of parameter handles for a method/ctor/dtor.
  *
  * @param[in] function_id Id of the function
- * @return list of Eolian_Function_Parameter
+ * @return list of Eolian_Function_Parameter*
  *
  * @ingroup Eolian
  */
@@ -515,7 +515,7 @@ EAPI const Eina_List *eolian_parameters_list_get(Eolian_Function function_id);
  *
  * @ingroup Eolian
  */
-EAPI void eolian_parameter_information_get(const Eolian_Function_Parameter param_desc, Eolian_Parameter_Dir *param_dir, Eolian_Type *type, const char **name, const char **description);
+EAPI void eolian_parameter_information_get(const Eolian_Function_Parameter *param_desc, Eolian_Parameter_Dir *param_dir, Eolian_Type *type, const char **name, const char **description);
 
 /*
  * @brief Get type of a parameter
@@ -525,7 +525,7 @@ EAPI void eolian_parameter_information_get(const Eolian_Function_Parameter param
  *
  * @ingroup Eolian
  */
-EAPI Eolian_Type eolian_parameter_type_get(const Eolian_Function_Parameter param);
+EAPI Eolian_Type eolian_parameter_type_get(const Eolian_Function_Parameter *param);
 
 /*
  * @brief Get name of a parameter
@@ -535,7 +535,7 @@ EAPI Eolian_Type eolian_parameter_type_get(const Eolian_Function_Parameter param
  *
  * @ingroup Eolian
  */
-EAPI Eina_Stringshare *eolian_parameter_name_get(const Eolian_Function_Parameter param);
+EAPI Eina_Stringshare *eolian_parameter_name_get(const Eolian_Function_Parameter *param);
 
 /*
  * @brief Indicates if a parameter has a const attribute.
@@ -549,7 +549,7 @@ EAPI Eina_Stringshare *eolian_parameter_name_get(const Eolian_Function_Parameter
  *
  * @ingroup Eolian
  */
-EAPI Eina_Bool eolian_parameter_const_attribute_get(Eolian_Function_Parameter param_desc, Eina_Bool is_get);
+EAPI Eina_Bool eolian_parameter_const_attribute_get(const Eolian_Function_Parameter *param_desc, Eina_Bool is_get);
 
 /*
  * @brief Indicates if a parameter cannot be NULL.
@@ -559,7 +559,7 @@ EAPI Eina_Bool eolian_parameter_const_attribute_get(Eolian_Function_Parameter pa
  *
  * @ingroup Eolian
  */
-EAPI Eina_Bool eolian_parameter_is_nonull(Eolian_Function_Parameter param_desc);
+EAPI Eina_Bool eolian_parameter_is_nonull(const Eolian_Function_Parameter *param_desc);
 
 /*
  * @brief Get the return type of a function.
index 8bbfe00..2703c39 100644 (file)
@@ -1244,14 +1244,14 @@ _db_fill_class(Eo_Class_Def *kls, const char *filename)
         database_function_scope_set(foo_id, prop->scope);
         EINA_LIST_FOREACH(prop->keys, m, param)
           {
-             Eolian_Function_Parameter p = database_property_key_add(
+             Eolian_Function_Parameter *p = database_property_key_add(
                    foo_id, (Eolian_Type)param->type, param->name, param->comment);
              database_parameter_nonull_set(p, param->nonull);
              param->type = NULL;
           }
         EINA_LIST_FOREACH(prop->values, m, param)
           {
-             Eolian_Function_Parameter p = database_property_value_add(
+             Eolian_Function_Parameter *p = database_property_value_add(
                    foo_id, (Eolian_Type)param->type, param->name, param->comment);
              database_parameter_nonull_set(p, param->nonull);
              param->type = NULL;
@@ -1285,7 +1285,7 @@ _db_fill_class(Eo_Class_Def *kls, const char *filename)
              Eina_List *m2;
              EINA_LIST_FOREACH(accessor->params, m2, acc_param)
                {
-                  Eolian_Function_Parameter desc = eolian_function_parameter_get(foo_id, acc_param->name);
+                  Eolian_Function_Parameter *desc = eolian_function_parameter_get(foo_id, acc_param->name);
                   if (!desc)
                     {
                        printf("Error - %s not known as parameter of property %s\n", acc_param->name, prop->name);
@@ -1328,7 +1328,7 @@ _db_fill_class(Eo_Class_Def *kls, const char *filename)
         database_function_object_set_as_const(foo_id, meth->obj_const);
         EINA_LIST_FOREACH(meth->params, m, param)
           {
-             Eolian_Function_Parameter p = database_method_parameter_add(foo_id,
+             Eolian_Function_Parameter *p = database_method_parameter_add(foo_id,
                    (Eolian_Parameter_Dir)param->way, (Eolian_Type)param->type, param->name, param->comment);
              database_parameter_nonull_set(p, param->nonull);
              param->type = NULL;
index bf185aa..34b248e 100644 (file)
@@ -51,8 +51,8 @@ typedef struct
 typedef struct
 {
    Eina_Stringshare *name;
-   Eina_List *keys; /* list of _Eolian_Function_Parameter */
-   Eina_List *params; /* list of _Eolian_Function_Parameter */
+   Eina_List *keys; /* list of Eolian_Function_Parameter */
+   Eina_List *params; /* list of Eolian_Function_Parameter */
    Eolian_Function_Type type;
    Eolian_Function_Scope scope;
    Eolian_Type get_ret_type;
@@ -65,7 +65,7 @@ typedef struct
    Eina_Bool set_return_warn_unused :1;
 } _Eolian_Function;
 
-typedef struct
+typedef struct _Eolian_Function_Parameter
 {
    Eina_Stringshare *name;
    Eolian_Type type;
@@ -74,7 +74,7 @@ typedef struct
    Eina_Bool is_const_on_get :1; /* True if const in this the get property */
    Eina_Bool is_const_on_set :1; /* True if const in this the set property */
    Eina_Bool nonull :1; /* True if this argument cannot be NULL */
-} _Eolian_Function_Parameter;
+} Eolian_Function_Parameter;
 
 /* maps directly to Eo_Type_Def */
 
@@ -119,7 +119,7 @@ typedef struct _Eolian_Event
 } Eolian_Event;
 
 static void
-_param_del(_Eolian_Function_Parameter *pdesc)
+_param_del(Eolian_Function_Parameter *pdesc)
 {
    eina_stringshare_del(pdesc->name);
 
@@ -138,7 +138,7 @@ database_type_del(Eolian_Type type)
 static void
 _fid_del(_Eolian_Function *fid)
 {
-   _Eolian_Function_Parameter *param;
+   Eolian_Function_Parameter *param;
    if (!fid) return;
    eina_stringshare_del(fid->name);
    eina_hash_free(fid->data);
@@ -776,10 +776,10 @@ eolian_function_data_get(Eolian_Function function_id, const char *key)
    return eina_hash_find(fid->data, key);
 }
 
-static _Eolian_Function_Parameter *
+static Eolian_Function_Parameter *
 _parameter_new(Eolian_Type type, const char *name, const char *description)
 {
-   _Eolian_Function_Parameter *param = NULL;
+   Eolian_Function_Parameter *param = NULL;
    param = calloc(1, sizeof(*param));
    param->name = eina_stringshare_add(name);
    param->type = type;
@@ -787,64 +787,64 @@ _parameter_new(Eolian_Type type, const char *name, const char *description)
    return param;
 }
 
-Eolian_Function_Parameter
+Eolian_Function_Parameter *
 database_property_key_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description)
 {
    _Eolian_Function *fid = (_Eolian_Function *)foo_id;
    EINA_SAFETY_ON_NULL_RETURN_VAL(fid, NULL);
-   _Eolian_Function_Parameter *param = _parameter_new(type, name, description);
+   Eolian_Function_Parameter *param = _parameter_new(type, name, description);
    fid->keys = eina_list_append(fid->keys, param);
-   return (Eolian_Function_Parameter)param;
+   return param;
 }
 
-Eolian_Function_Parameter
+Eolian_Function_Parameter *
 database_property_value_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description)
 {
    _Eolian_Function *fid = (_Eolian_Function *)foo_id;
    EINA_SAFETY_ON_NULL_RETURN_VAL(fid, NULL);
-   _Eolian_Function_Parameter *param = _parameter_new(type, name, description);
+   Eolian_Function_Parameter *param = _parameter_new(type, name, description);
    fid->params = eina_list_append(fid->params, param);
-   return (Eolian_Function_Parameter)param;
+   return param;
 }
 
-Eolian_Function_Parameter
+Eolian_Function_Parameter *
 database_method_parameter_add(Eolian_Function foo_id, Eolian_Parameter_Dir param_dir, Eolian_Type type, const char *name, const char *description)
 {
    _Eolian_Function *fid = (_Eolian_Function *)foo_id;
    EINA_SAFETY_ON_NULL_RETURN_VAL(fid, NULL);
-   _Eolian_Function_Parameter *param = _parameter_new(type, name, description);
+   Eolian_Function_Parameter *param = _parameter_new(type, name, description);
    param->param_dir = param_dir;
    fid->params = eina_list_append(fid->params, param);
-   return (Eolian_Function_Parameter)param;
+   return param;
 }
 
-EAPI Eolian_Function_Parameter
+EAPI Eolian_Function_Parameter *
 eolian_function_parameter_get(const Eolian_Function foo_id, const char *param_name)
 {
    _Eolian_Function *fid = (_Eolian_Function *)foo_id;
    EINA_SAFETY_ON_NULL_RETURN_VAL(fid, NULL);
    Eina_List *itr;
-   _Eolian_Function_Parameter *param;
+   Eolian_Function_Parameter *param;
    EINA_LIST_FOREACH(fid->keys, itr, param)
-      if (!strcmp(param->name, param_name)) return (Eolian_Function_Parameter)param;
+      if (!strcmp(param->name, param_name)) return param;
    EINA_LIST_FOREACH(fid->params, itr, param)
-      if (!strcmp(param->name, param_name)) return (Eolian_Function_Parameter)param;
+      if (!strcmp(param->name, param_name)) return param;
    return NULL;
 }
 
 EAPI Eolian_Type
-eolian_parameter_type_get(const Eolian_Function_Parameter param)
+eolian_parameter_type_get(const Eolian_Function_Parameter *param)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(param, NULL);
-   return ((_Eolian_Function_Parameter*)param)->type;
+   return param->type;
 }
 
 EAPI Eina_Stringshare *
-eolian_parameter_name_get(const Eolian_Function_Parameter param)
+eolian_parameter_name_get(const Eolian_Function_Parameter *param)
 {
    EINA_SAFETY_ON_NULL_RETURN_VAL(param, NULL);
-   eina_stringshare_ref(((_Eolian_Function_Parameter*)param)->name);
-   return ((_Eolian_Function_Parameter*)param)->name;
+   eina_stringshare_ref(param->name);
+   return param->name;
 }
 
 EAPI const Eina_List *
@@ -871,9 +871,8 @@ eolian_parameters_list_get(Eolian_Function foo_id)
 
 /* Get parameter information */
 EAPI void
-eolian_parameter_information_get(const Eolian_Function_Parameter param_desc, Eolian_Parameter_Dir *param_dir, Eolian_Type *type, const char **name, const char **description)
+eolian_parameter_information_get(const Eolian_Function_Parameter *param, Eolian_Parameter_Dir *param_dir, Eolian_Type *type, const char **name, const char **description)
 {
-   _Eolian_Function_Parameter *param = (_Eolian_Function_Parameter *)param_desc;
    EINA_SAFETY_ON_NULL_RETURN(param);
    if (param_dir) *param_dir = param->param_dir;
    if (type) *type = param->type;
@@ -882,9 +881,8 @@ eolian_parameter_information_get(const Eolian_Function_Parameter param_desc, Eol
 }
 
 void
-database_parameter_const_attribute_set(Eolian_Function_Parameter param_desc, Eina_Bool is_get, Eina_Bool is_const)
+database_parameter_const_attribute_set(Eolian_Function_Parameter *param, Eina_Bool is_get, Eina_Bool is_const)
 {
-   _Eolian_Function_Parameter *param = (_Eolian_Function_Parameter *)param_desc;
    EINA_SAFETY_ON_NULL_RETURN(param);
    if (is_get)
       param->is_const_on_get = is_const;
@@ -893,17 +891,15 @@ database_parameter_const_attribute_set(Eolian_Function_Parameter param_desc, Ein
 }
 
 void
-database_parameter_type_set(Eolian_Function_Parameter param_desc, Eolian_Type types)
+database_parameter_type_set(Eolian_Function_Parameter *param, Eolian_Type types)
 {
-   _Eolian_Function_Parameter *param = (_Eolian_Function_Parameter *)param_desc;
    EINA_SAFETY_ON_NULL_RETURN(param);
    param->type = types;
 }
 
 EAPI Eina_Bool
-eolian_parameter_const_attribute_get(Eolian_Function_Parameter param_desc, Eina_Bool is_get)
+eolian_parameter_const_attribute_get(const Eolian_Function_Parameter *param, Eina_Bool is_get)
 {
-   _Eolian_Function_Parameter *param = (_Eolian_Function_Parameter *)param_desc;
    EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
    if (is_get)
       return param->is_const_on_get;
@@ -912,17 +908,15 @@ eolian_parameter_const_attribute_get(Eolian_Function_Parameter param_desc, Eina_
 }
 
 void
-database_parameter_nonull_set(Eolian_Function_Parameter param_desc, Eina_Bool nonull)
+database_parameter_nonull_set(Eolian_Function_Parameter *param, Eina_Bool nonull)
 {
-   _Eolian_Function_Parameter *param = (_Eolian_Function_Parameter *)param_desc;
    EINA_SAFETY_ON_NULL_RETURN(param);
    param->nonull = nonull;
 }
 
 EAPI Eina_Bool
-eolian_parameter_is_nonull(Eolian_Function_Parameter param_desc)
+eolian_parameter_is_nonull(const Eolian_Function_Parameter *param)
 {
-   _Eolian_Function_Parameter *param = (_Eolian_Function_Parameter *)param_desc;
    EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
    return param->nonull;
 }
@@ -1526,7 +1520,7 @@ static Eina_Bool _function_print(const _Eolian_Function *fid, int nb_spaces)
          return EINA_FALSE;
      }
    Eina_List *itr;
-   _Eolian_Function_Parameter *param;
+   Eolian_Function_Parameter *param;
    EINA_LIST_FOREACH(fid->params, itr, param)
      {
         char *param_dir = NULL;
index 0403f20..f80cf3b 100644 (file)
@@ -85,19 +85,19 @@ void database_function_data_set(Eolian_Function function_id, const char *key, co
 #define database_function_description_set(foo_id, key, desc) database_function_data_set((foo_id), (key), (desc))
 
 /* Add a key to a property */
-Eolian_Function_Parameter database_property_key_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description);
+Eolian_Function_Parameter *database_property_key_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description);
 
 /* Add a value to a property */
-Eolian_Function_Parameter database_property_value_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description);
+Eolian_Function_Parameter *database_property_value_add(Eolian_Function foo_id, Eolian_Type type, const char *name, const char *description);
 
 /* Add a parameter to a method */
-Eolian_Function_Parameter database_method_parameter_add(Eolian_Function foo_id, Eolian_Parameter_Dir param_dir, Eolian_Type type, const char *name, const char *description);
+Eolian_Function_Parameter *database_method_parameter_add(Eolian_Function foo_id, Eolian_Parameter_Dir param_dir, Eolian_Type type, const char *name, const char *description);
 
 void database_type_del(Eolian_Type type);
 
-void database_parameter_const_attribute_set(Eolian_Function_Parameter param_desc, Eina_Bool is_get, Eina_Bool is_const);
+void database_parameter_const_attribute_set(Eolian_Function_Parameter *param, Eina_Bool is_get, Eina_Bool is_const);
 
-void database_parameter_nonull_set(Eolian_Function_Parameter, Eina_Bool nonull);
+void database_parameter_nonull_set(Eolian_Function_Parameter *param, Eina_Bool nonull);
 
 void database_function_return_type_set(Eolian_Function foo_id, Eolian_Function_Type ftype, Eolian_Type ret_type);