[virt-tools-list] [libosinfo v2 4/8] InstallConfigParam props should map to entity params

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Fri Nov 9 15:14:20 UTC 2012


From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>

Without entity params usage, there is no real benefit of deriving from
Entity class so this was very much intended from start.
---
 osinfo/osinfo_install_config_param.c | 48 +++++++++++++++++++-----------------
 osinfo/osinfo_install_config_param.h |  3 +++
 2 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/osinfo/osinfo_install_config_param.c b/osinfo/osinfo_install_config_param.c
index 40d59b4..c6366c2 100644
--- a/osinfo/osinfo_install_config_param.c
+++ b/osinfo/osinfo_install_config_param.c
@@ -65,17 +65,15 @@ osinfo_install_config_param_set_property(GObject *object,
     switch (property_id)
         {
         case PROP_NAME:
-            config_param->priv->name = g_value_dup_string(value);
+            osinfo_entity_set_param(OSINFO_ENTITY(config_param),
+                                    OSINFO_INSTALL_CONFIG_PARAM_PROP_NAME,
+                                    g_value_get_string(value));
             break;
         case PROP_POLICY:
             {
-            const gchar *policy = g_value_get_string(value);
-            if (g_strcmp0(policy, "required") == 0)
-                config_param->priv->policy =
-                    OSINFO_INSTALL_CONFIG_PARAM_POLICY_REQUIRED;
-            else if (g_strcmp0(policy, "optional") == 0)
-                config_param->priv->policy =
-                    OSINFO_INSTALL_CONFIG_PARAM_POLICY_OPTIONAL;
+            osinfo_entity_set_param(OSINFO_ENTITY(config_param),
+                                    OSINFO_INSTALL_CONFIG_PARAM_PROP_POLICY,
+                                    g_value_get_string(value));
             break;
             }
         default:
@@ -97,10 +95,20 @@ osinfo_install_config_param_get_property(GObject *object,
     switch (property_id)
         {
         case PROP_NAME:
-            g_value_set_string(value, config_param->priv->name);
+            {
+            const gchar *name;
+
+            name = osinfo_install_config_param_get_name(config_param);
+            g_value_set_string(value, name);
             break;
+            }
         case PROP_POLICY:
-            g_value_set_enum(value, config_param->priv->policy);
+            {
+            OsinfoInstallConfigParamPolicy policy;
+
+            policy = osinfo_install_config_param_get_policy(config_param);
+            g_value_set_enum(value, policy);
+            }
             break;
         default:
             /* We don't have any other property... */
@@ -212,7 +220,8 @@ OsinfoInstallConfigParam *osinfo_install_config_param_new(const gchar *name,
  */
 const gchar *osinfo_install_config_param_get_name(const OsinfoInstallConfigParam *config_param)
 {
-    return config_param->priv->name;
+    return osinfo_entity_get_param_value(OSINFO_ENTITY(config_param),
+                                         OSINFO_INSTALL_CONFIG_PARAM_PROP_NAME);
 }
 
 /**
@@ -223,7 +232,8 @@ const gchar *osinfo_install_config_param_get_name(const OsinfoInstallConfigParam
  */
 OsinfoInstallConfigParamPolicy osinfo_install_config_param_get_policy(const OsinfoInstallConfigParam *config_param)
 {
-    return config_param->priv->policy;
+    return osinfo_entity_get_param_value(OSINFO_ENTITY(config_param),
+                                         OSINFO_INSTALL_CONFIG_PARAM_PROP_POLICY);
 }
 
 /**
@@ -235,11 +245,8 @@ OsinfoInstallConfigParamPolicy osinfo_install_config_param_get_policy(const Osin
  */
 gboolean osinfo_install_config_param_is_required(const OsinfoInstallConfigParam *config_param)
 {
-    if (config_param->priv->policy ==
-            OSINFO_INSTALL_CONFIG_PARAM_POLICY_REQUIRED)
-        return TRUE;
-
-    return FALSE;
+    return (osinfo_install_config_param_get_policy(config_param) ==
+            OSINFO_INSTALL_CONFIG_PARAM_POLICY_REQUIRED);
 }
 
 /**
@@ -251,11 +258,8 @@ gboolean osinfo_install_config_param_is_required(const OsinfoInstallConfigParam
  */
 gboolean osinfo_install_config_param_is_optional(const OsinfoInstallConfigParam *config_param)
 {
-    if (config_param->priv->policy ==
-            OSINFO_INSTALL_CONFIG_PARAM_POLICY_OPTIONAL)
-        return TRUE;
-
-    return FALSE;
+    return (osinfo_install_config_param_get_policy(config_param) ==
+            OSINFO_INSTALL_CONFIG_PARAM_POLICY_OPTIONAL);
 }
 
 /*
diff --git a/osinfo/osinfo_install_config_param.h b/osinfo/osinfo_install_config_param.h
index dbe5e23..d588616 100644
--- a/osinfo/osinfo_install_config_param.h
+++ b/osinfo/osinfo_install_config_param.h
@@ -36,6 +36,9 @@
 #define OSINFO_IS_INSTALL_CONFIG_PARAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), OSINFO_TYPE_INSTALL_CONFIG_PARAM))
 #define OSINFO_INSTALL_CONFIG_PARAM_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), OSINFO_TYPE_INSTALL_CONFIG_PARAM, OsinfoInstallConfigParamClass))
 
+#define OSINFO_INSTALL_CONFIG_PARAM_PROP_NAME   "name"
+#define OSINFO_INSTALL_CONFIG_PARAM_PROP_POLICY "policy"
+
 typedef struct _OsinfoInstallConfigParam        OsinfoInstallConfigParam;
 typedef struct _OsinfoInstallConfigParamClass   OsinfoInstallConfigParamClass;
 typedef struct _OsinfoInstallConfigParamPrivate OsinfoInstallConfigParamPrivate;
-- 
1.8.0




More information about the virt-tools-list mailing list