[Libosinfo] [libosinfo PATCH 1/2] install-config: Add _set_installer_url()
Fabiano Fidêncio
fidencio at redhat.com
Wed Mar 6 16:14:57 UTC 2019
Although the installer URL can be taken from OsinfoTree, there are
situations where OsinfoTree doesn't have a URL or even the management
apps should prefer the URL set by their users instead of fallbacking to
the one get from OsinfoTree.
Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
---
osinfo/libosinfo.syms | 6 ++++++
osinfo/osinfo_install_config.c | 28 ++++++++++++++++++++++++++++
osinfo/osinfo_install_config.h | 6 ++++++
3 files changed, 40 insertions(+)
diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms
index 5c200e3..aa8e6d7 100644
--- a/osinfo/libosinfo.syms
+++ b/osinfo/libosinfo.syms
@@ -568,6 +568,12 @@ LIBOSINFO_1.4.0 {
osinfo_media_get_install_script_list;
} LIBOSINFO_1.3.0;
+LIBOSINFO_1.5.0 {
+ global:
+ osinfo_install_config_get_installation_url;
+ osinfo_install_config_set_installation_url;
+} LIBOSINFO_1.4.0;
+
/* Symbols in next release...
LIBOSINFO_0.0.2 {
diff --git a/osinfo/osinfo_install_config.c b/osinfo/osinfo_install_config.c
index abe37bd..af4b47e 100644
--- a/osinfo/osinfo_install_config.c
+++ b/osinfo/osinfo_install_config.c
@@ -688,6 +688,34 @@ gboolean osinfo_install_config_get_driver_signing(OsinfoInstallConfig *config)
TRUE);
}
+/**
+ * osinfo_install_config_set_installation_url:
+ * @config: the install config
+ * @url: the URL used to perform the installation
+ *
+ * When performing a tree based installation the script will need the installation
+ * URL to be set, whenever the installation is performed from a non canonical place.
+ */
+void osinfo_install_config_set_installation_url(OsinfoInstallConfig *config,
+ const gchar *url)
+{
+ osinfo_entity_set_param(OSINFO_ENTITY(config),
+ OSINFO_INSTALL_CONFIG_PROP_INSTALLATION_URL,
+ url);
+}
+
+/**
+ * osinfo_install_config_get_installation_url:
+ * @config
+ *
+ * Returns the URL the script will use to perform the installation.
+ */
+const gchar *osinfo_install_config_get_installation_url(OsinfoInstallConfig *config)
+{
+ return osinfo_entity_get_param_value(OSINFO_ENTITY(config),
+ OSINFO_INSTALL_CONFIG_PROP_INSTALLATION_URL);
+}
+
/*
* Local variables:
* indent-tabs-mode: nil
diff --git a/osinfo/osinfo_install_config.h b/osinfo/osinfo_install_config.h
index f9db88b..c219c3a 100644
--- a/osinfo/osinfo_install_config.h
+++ b/osinfo/osinfo_install_config.h
@@ -69,6 +69,8 @@
#define OSINFO_INSTALL_CONFIG_PROP_DRIVER_SIGNING "driver-signing"
+#define OSINFO_INSTALL_CONFIG_PROP_INSTALLATION_URL "installation-url"
+
typedef struct _OsinfoInstallConfig OsinfoInstallConfig;
typedef struct _OsinfoInstallConfigClass OsinfoInstallConfigClass;
typedef struct _OsinfoInstallConfigPrivate OsinfoInstallConfigPrivate;
@@ -199,6 +201,10 @@ void osinfo_install_config_set_driver_signing(OsinfoInstallConfig *config,
gboolean signing);
gboolean osinfo_install_config_get_driver_signing(OsinfoInstallConfig *config);
+void osinfo_install_config_set_installation_url(OsinfoInstallConfig *config,
+ const gchar *url);
+const gchar *osinfo_install_config_get_installation_url(OsinfoInstallConfig *config);
+
#endif /* __OSINFO_INSTALL_CONFIG_H__ */
/*
* Local variables:
--
2.20.1
More information about the Libosinfo
mailing list