[virt-tools-list] [libosinfo 3/3] config_param: add is_{required, optional} functions

Fabiano Fidêncio fabiano at fidencio.org
Sun Oct 7 14:49:36 UTC 2012


These functions help applications to check if a config_param is required
or optional.
---
 osinfo/libosinfo.syms                |  2 ++
 osinfo/osinfo_install_config_param.c | 32 ++++++++++++++++++++++++++++++++
 osinfo/osinfo_install_config_param.h |  4 ++++
 3 files changed, 38 insertions(+)

diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms
index df76108..0efc162 100644
--- a/osinfo/libosinfo.syms
+++ b/osinfo/libosinfo.syms
@@ -308,6 +308,8 @@ LIBOSINFO_0.2.1 {
 	osinfo_entity_get_param_value_int64;
 	osinfo_entity_get_param_value_int64_with_default;
 	osinfo_entity_set_param_int64;
+	osinfo_install_config_param_is_optional;
+	osinfo_install_config_param_is_required;
 	osinfo_install_script_get_expected_filename;
 	osinfo_install_script_get_config_param;
 } LIBOSINFO_0.2.0;
diff --git a/osinfo/osinfo_install_config_param.c b/osinfo/osinfo_install_config_param.c
index 8a0ab56..7e1e3fc 100644
--- a/osinfo/osinfo_install_config_param.c
+++ b/osinfo/osinfo_install_config_param.c
@@ -225,6 +225,38 @@ OsinfoInstallConfigParamPolicy osinfo_install_config_param_get_policy(const Osin
     return config_param->priv->policy;
 }
 
+/**
+ * osinfo_install_config_param_is_required:
+ * @config_param: the configuration parameter
+ *
+ * Returns: (transfer none): TRUE if the config_param is required.
+ *                           FALSE otherwise.
+ */
+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;
+}
+
+/**
+ * osinfo_install_config_param_is_optional:
+ * @config_param: the configuration parameter
+ *
+ * Returns: (transfer none): TRUE if the config_param is optional.
+ *                           FALSE otherwise.
+ */
+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;
+}
+
 /*
  * Local variables:
  *  indent-tabs-mode: nil
diff --git a/osinfo/osinfo_install_config_param.h b/osinfo/osinfo_install_config_param.h
index e3a7a4e..dbe5e23 100644
--- a/osinfo/osinfo_install_config_param.h
+++ b/osinfo/osinfo_install_config_param.h
@@ -72,6 +72,10 @@ const gchar *osinfo_install_config_param_get_name(const OsinfoInstallConfigParam
 
 OsinfoInstallConfigParamPolicy osinfo_install_config_param_get_policy(const OsinfoInstallConfigParam *config_param);
 
+gboolean osinfo_install_config_param_is_required(const OsinfoInstallConfigParam *config_param);
+
+gboolean osinfo_install_config_param_is_optional(const OsinfoInstallConfigParam *config_param);
+
 
 #endif /* __OSINFO_INSTALL_CONFIG_PARAM_H__ */
 /*
-- 
1.7.12.1




More information about the virt-tools-list mailing list