[Libosinfo] [libosinfo][PATCH 5/5] media: Add 'network-installer' parameter
Fabiano Fidêncio
fabiano at fidencio.org
Sun Jun 3 16:44:32 UTC 2018
Apps can take advantage of this parameter in order to find out (and
correctly display to their users) whether network is needed during
the installation process.
Signed-off-by: Fabiano Fidêncio <fabiano at fidencio.org>
---
osinfo/libosinfo.syms | 5 +++++
osinfo/osinfo_media.c | 27 +++++++++++++++++++++++++++
osinfo/osinfo_media.h | 2 ++
3 files changed, 34 insertions(+)
diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms
index 64c6f79..3bad468 100644
--- a/osinfo/libosinfo.syms
+++ b/osinfo/libosinfo.syms
@@ -525,6 +525,11 @@ LIBOSINFO_0.2.13 {
osinfo_media_get_eject_after_install;
} LIBOSINFO_0.2.12;
+LIBOSINFO_0.2.14 {
+ global:
+ osinfo_media_get_network_installer;
+} LIBOSINFO_0.2.13;
+
/* Symbols in next release...
LIBOSINFO_0.0.2 {
diff --git a/osinfo/osinfo_media.c b/osinfo/osinfo_media.c
index 293732d..740ddcb 100644
--- a/osinfo/osinfo_media.c
+++ b/osinfo/osinfo_media.c
@@ -604,6 +604,19 @@ osinfo_media_class_init(OsinfoMediaClass *klass)
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
g_object_class_install_property(g_klass, PROP_EJECT_AFTER_INSTALL, pspec);
+
+ /**
+ * OsinfoMedia:network-installer:
+ *
+ * Whether media is a network installer or not.
+ */
+ pspec = g_param_spec_boolean("network-installer",
+ "NetworkInstaller",
+ _("Media is a network installer"),
+ FALSE /* default value */,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property(g_klass, PROP_LIVE, pspec);
}
static void
@@ -1152,6 +1165,20 @@ gboolean osinfo_media_get_live(OsinfoMedia *media)
(OSINFO_ENTITY(media), OSINFO_MEDIA_PROP_LIVE, FALSE);
}
+/**
+ * osinfo_media_get_network_installer:
+ * @media: an #OsinfoMedia instance
+ *
+ * Whether @media is a network installer or not.
+ *
+ * Returns: #TRUE if media is a network installer, #FALSE otherwise
+ */
+gboolean osinfo_media_get_network_installer(OsinfoMedia *media)
+{
+ return osinfo_entity_get_param_value_boolean_with_default
+ (OSINFO_ENTITY(media), OSINFO_MEDIA_PROP_NETWORK_INSTALLER, FALSE);
+}
+
/**
* osinfo_media_get_installer_reboots:
* @media: an #OsinfoMedia instance
diff --git a/osinfo/osinfo_media.h b/osinfo/osinfo_media.h
index 6df7b60..38ae637 100644
--- a/osinfo/osinfo_media.h
+++ b/osinfo/osinfo_media.h
@@ -91,6 +91,7 @@ typedef struct _OsinfoMediaPrivate OsinfoMediaPrivate;
#define OSINFO_MEDIA_PROP_VARIANT "variant"
#define OSINFO_MEDIA_PROP_VOLUME_SIZE "volume-size"
#define OSINFO_MEDIA_PROP_EJECT_AFTER_INSTALL "eject-after-install"
+#define OSINFO_MEDIA_PROP_NETWORK_INSTALLER "network-installer"
/* object */
struct _OsinfoMedia
@@ -142,6 +143,7 @@ gboolean osinfo_media_get_live(OsinfoMedia *media);
gint osinfo_media_get_installer_reboots(OsinfoMedia *media);
gint64 osinfo_media_get_volume_size(OsinfoMedia *media);
gboolean osinfo_media_get_eject_after_install(OsinfoMedia *media);
+gboolean osinfo_media_get_network_installer(OsinfoMedia *media);
#endif /* __OSINFO_MEDIA_H__ */
/*
--
2.14.3
More information about the Libosinfo
mailing list