On Fri, Nov 09, 2012 at 04:14:21PM +0100, Zeeshan Ali (Khattak) wrote: > From: "Zeeshan Ali (Khattak)" <[email protected]> > > 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).
This property is CONSTRUCT_ONLY anyway, I think this sort of construct is
a fairly typical of passing arguments when creating a gobject.
Christophe
>
> 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
>
> _______________________________________________
> virt-tools-list mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/virt-tools-list
pgpC85Htet5Yx.pgp
Description: PGP signature
_______________________________________________ virt-tools-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-tools-list
