From: "Zeeshan Ali (Khattak)" <zeeshanak@xxxxxxxxx> This actually not only breaks ABI but also the API: we remove one argument of _new() function. The prop getter is the main part of this API that an app will be using if its using this API at all so I think its worth it to correct this now (while we are causing other breakage here: See next patch in this series). I am also not certain that _new() should be part of the public API. --- osinfo/osinfo_install_config_param.c | 18 ++---------------- osinfo/osinfo_install_config_param.h | 2 +- osinfo/osinfo_loader.c | 6 ++++-- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/osinfo/osinfo_install_config_param.c b/osinfo/osinfo_install_config_param.c index c6366c2..6d65c9b 100644 --- a/osinfo/osinfo_install_config_param.c +++ b/osinfo/osinfo_install_config_param.c @@ -69,13 +69,6 @@ osinfo_install_config_param_set_property(GObject *object, OSINFO_INSTALL_CONFIG_PARAM_PROP_NAME, g_value_get_string(value)); break; - case PROP_POLICY: - { - osinfo_entity_set_param(OSINFO_ENTITY(config_param), - OSINFO_INSTALL_CONFIG_PARAM_PROP_POLICY, - g_value_get_string(value)); - break; - } default: /* We don't have any other property... */ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -166,7 +159,6 @@ osinfo_install_config_param_class_init (OsinfoInstallConfigParamClass *klass) "Policy", _("Parameter policy"), NULL, - G_PARAM_WRITABLE | G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | @@ -176,7 +168,6 @@ osinfo_install_config_param_class_init (OsinfoInstallConfigParamClass *klass) PROP_POLICY, pspec); - g_klass->finalize = osinfo_install_config_param_finalize; g_type_class_add_private (klass, sizeof (OsinfoInstallConfigParamPrivate)); @@ -197,19 +188,14 @@ osinfo_install_config_param_init (OsinfoInstallConfigParam *config_param) /** * osinfo_install_config_param_new: * @name: the configuration parameter name - * @policy: the configuration parameter policy * * Construct a new configuration parameter to a #OsinfoInstallScript. * * Returns: (transfer full): the new configuration parameter */ -OsinfoInstallConfigParam *osinfo_install_config_param_new(const gchar *name, - const gchar *policy) +OsinfoInstallConfigParam *osinfo_install_config_param_new(const gchar *name) { - return g_object_new(OSINFO_TYPE_INSTALL_CONFIG_PARAM, - "name", name, - "policy", policy, - NULL); + return g_object_new(OSINFO_TYPE_INSTALL_CONFIG_PARAM, "name", name, NULL); } /** diff --git a/osinfo/osinfo_install_config_param.h b/osinfo/osinfo_install_config_param.h index d588616..930614d 100644 --- a/osinfo/osinfo_install_config_param.h +++ b/osinfo/osinfo_install_config_param.h @@ -69,7 +69,7 @@ struct _OsinfoInstallConfigParamClass GType osinfo_install_config_param_get_type(void); -OsinfoInstallConfigParam *osinfo_install_config_param_new(const gchar *name, const gchar *policy); +OsinfoInstallConfigParam *osinfo_install_config_param_new(const gchar *name); const gchar *osinfo_install_config_param_get_name(const OsinfoInstallConfigParam *config_param); diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c index 4ad2d72..838b541 100644 --- a/osinfo/osinfo_loader.c +++ b/osinfo/osinfo_loader.c @@ -582,8 +582,10 @@ static void osinfo_loader_install_config_param(OsinfoLoader *loader, for (i = 0 ; i < nnodes ; i++) { gchar *name = (gchar *)xmlGetProp(nodes[i], BAD_CAST "name"); gchar *policy = (gchar *)xmlGetProp(nodes[i], BAD_CAST "policy"); - OsinfoInstallConfigParam *param = - osinfo_install_config_param_new(name, policy); + OsinfoInstallConfigParam *param = osinfo_install_config_param_new(name); + osinfo_entity_set_param(OSINFO_ENTITY(param), + OSINFO_INSTALL_CONFIG_PARAM_PROP_POLICY, + policy); osinfo_install_script_add_config_param(OSINFO_INSTALL_SCRIPT(entity), param); -- 1.8.0