From 1a4f87d3657ab735d8ce4e880794ec356af68196 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Wed, 9 Jul 2014 17:01:19 +0100 Subject: [PATCH] eolian: refactoring step four Move from all isntances of Eolian_Function_Parameter to Eolian_Function_Parameter* plus const fixes. --- src/bin/eolian/eo_generator.c | 12 ++--- src/bin/eolian/impl_generator.c | 4 +- src/bin/eolian/legacy_generator.c | 16 +++--- src/bin/eolian_cxx/convert.cc | 4 +- src/bin/eolian_cxx/convert_comments.cc | 4 +- src/bin/eolian_cxx/eolian_wrappers.hh | 18 +++---- src/lib/eolian/Eolian.h | 20 +++---- src/lib/eolian/eo_parser.c | 8 +-- src/lib/eolian/eolian_database.c | 72 ++++++++++++-------------- src/lib/eolian/eolian_database.h | 10 ++-- 10 files changed, 81 insertions(+), 87 deletions(-) diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c index 2dd71567a2..29be0cd658 100644 --- a/src/bin/eolian/eo_generator.c +++ b/src/bin/eolian/eo_generator.c @@ -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); diff --git a/src/bin/eolian/impl_generator.c b/src/bin/eolian/impl_generator.c index 0aeb45e61b..06b7649e3e 100644 --- a/src/bin/eolian/impl_generator.c +++ b/src/bin/eolian/impl_generator.c @@ -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); diff --git a/src/bin/eolian/legacy_generator.c b/src/bin/eolian/legacy_generator.c index 5c7d025d61..1f9bf5f872 100644 --- a/src/bin/eolian/legacy_generator.c +++ b/src/bin/eolian/legacy_generator.c @@ -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); diff --git a/src/bin/eolian_cxx/convert.cc b/src/bin/eolian_cxx/convert.cc index 066dc77455..d0ce38435d 100644 --- a/src/bin/eolian_cxx/convert.cc +++ b/src/bin/eolian_cxx/convert.cc @@ -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(curr)); + const Eolian_Function_Parameter *id = + (static_cast(curr)); list.push_back ({ parameter_type(id, func_type), diff --git a/src/bin/eolian_cxx/convert_comments.cc b/src/bin/eolian_cxx/convert_comments.cc index 6dd0c2ce3e..5331b3cf4b 100644 --- a/src/bin/eolian_cxx/convert_comments.cc +++ b/src/bin/eolian_cxx/convert_comments.cc @@ -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(curr)) + "\n"; + (static_cast(curr)) + "\n"; } return doc; } diff --git a/src/bin/eolian_cxx/eolian_wrappers.hh b/src/bin/eolian_cxx/eolian_wrappers.hh index 92e9c5e681..d4e8eb8695 100644 --- a/src/bin/eolian_cxx/eolian_wrappers.hh +++ b/src/bin/eolian_cxx/eolian_wrappers.hh @@ -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); } diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h index efa321f61b..899bd95b4f 100644 --- a/src/lib/eolian/Eolian.h +++ b/src/lib/eolian/Eolian.h @@ -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. diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index 8bbfe00e7e..2703c39f07 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -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; diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c index bf185aa93a..34b248e3c5 100644 --- a/src/lib/eolian/eolian_database.c +++ b/src/lib/eolian/eolian_database.c @@ -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; diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h index 0403f209e4..f80cf3bfe3 100644 --- a/src/lib/eolian/eolian_database.h +++ b/src/lib/eolian/eolian_database.h @@ -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);