OsinfoMedia: Libosinfo Reference Manual

## OsinfoMedia OsinfoMedia — An installation media for a (guest) OS |

## Functions

GQuark | osinfo_media_error_quark ()
OsinfoMedia * | osinfo_media_new ()
OsinfoMedia * | osinfo_media_create_from_location ()
void | osinfo_media_create_from_location_async ()
OsinfoMedia * | osinfo_media_create_from_location_finish ()
const gchar * | osinfo_media_get_architecture ()
const gchar * | osinfo_media_get_url ()
const gchar * | osinfo_media_get_volume_id ()
const gchar * | osinfo_media_get_system_id ()
const gchar * | osinfo_media_get_publisher_id ()
const gchar * | osinfo_media_get_application_id ()
const gchar * | osinfo_media_get_kernel_path ()
const gchar * | osinfo_media_get_initrd_path ()
OsinfoOs * | osinfo_media_get_os ()
OsinfoOsVariantList * | osinfo_media_get_os_variants ()
GList * | osinfo_media_get_languages ()
gboolean | osinfo_media_get_installer ()
gboolean | osinfo_media_get_live ()
gint | osinfo_media_get_installer_reboots ()
gint64 | osinfo_media_get_volume_size ()
gboolean | osinfo_media_get_eject_after_install ()
gboolean | osinfo_media_supports_installer_script ()
void | osinfo_media_add_install_script ()
OsinfoInstallScriptList * | osinfo_media_get_install_script_list ()

## Properties

gchar * | application-id | Read / Write
gchar * | architecture | Read / Write
gboolean | eject-after-install | Read / Write
gchar * | initrd-path | Read / Write
gboolean | installer | Read / Write
gint | installer-reboots | Read / Write
gboolean | installer-script | Read / Write
gchar * | kernel-path | Read / Write
gpointer | languages | Read
gboolean | live | Read / Write
OsinfoOs * | os | Read / Write
gchar * | publisher-id | Read / Write
gchar * | system-id | Read / Write
gchar * | url | Read / Write
gchar * | volume-id | Read / Write
gint64 | volume-size | Read / Write

## Types and Values

#define | OSINFO_MEDIA_ERROR
enum | OsinfoMediaError
#define | OSINFO_MEDIA_PROP_ARCHITECTURE
#define | OSINFO_MEDIA_PROP_URL
#define | OSINFO_MEDIA_PROP_VOLUME_ID
#define | OSINFO_MEDIA_PROP_SYSTEM_ID
#define | OSINFO_MEDIA_PROP_PUBLISHER_ID
#define | OSINFO_MEDIA_PROP_APPLICATION_ID
#define | OSINFO_MEDIA_PROP_KERNEL
#define | OSINFO_MEDIA_PROP_INITRD
#define | OSINFO_MEDIA_PROP_LIVE
#define | OSINFO_MEDIA_PROP_INSTALLER
#define | OSINFO_MEDIA_PROP_INSTALLER_REBOOTS
#define | OSINFO_MEDIA_PROP_LANG
#define | OSINFO_MEDIA_PROP_LANG_REGEX
#define | OSINFO_MEDIA_PROP_LANG_MAP
#define | OSINFO_MEDIA_PROP_VARIANT
#define | OSINFO_MEDIA_PROP_VOLUME_SIZE
#define | OSINFO_MEDIA_PROP_EJECT_AFTER_INSTALL
#define | OSINFO_MEDIA_PROP_INSTALLER_SCRIPT

## Object Hierarchy

        GEnum
        ╰── OsinfoMediaError
        GObject
        ╰── OsinfoEntity
            ╰── OsinfoMedia

## Description

OsinfoMedia is an entity representing an installation media a (guest) operating system.

## Functions

### osinfo_media_error_quark ()

    GQuark
    osinfo_media_error_quark (void);

### osinfo_media_new ()

    OsinfoMedia *
    osinfo_media_new (const gchar *id,
                      const gchar *architecture);

### osinfo_media_create_from_location ()

    OsinfoMedia *
    osinfo_media_create_from_location (const gchar *location,
                                       GCancellable *cancellable,
                                       GError **error);

Creates a new OsinfoMedia for installation media at `location` . The `location` could be any URI that GIO can handle or a local path.

NOTE: Currently this only works for ISO images/devices.

#### Parameters

location | the location of an installation media |
cancellable | a GCancellable, or `NULL`. | [allow-none]
error | The location where to store any error, or `NULL` |

#### Returns

a new OsinfoMedia , or NULL on error.

[transfer full]

### osinfo_media_create_from_location_async ()

    void
    osinfo_media_create_from_location_async
                                   (const gchar *location,
                                    gint priority,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Asynchronous variant of osinfo_media_create_from_location.

#### Parameters

location | the location of an installation media |
priority | the I/O priority of the request |
cancellable | a GCancellable, or `NULL`. | [allow-none]
callback | Function to call when result of this call is ready |
user_data | The user data to pass to `callback` , or `NULL` |

### osinfo_media_create_from_location_finish ()

    OsinfoMedia *
    osinfo_media_create_from_location_finish
                                   (GAsyncResult *res,
                                    GError **error);

Finishes an asynchronous media object creation process started with osinfo_media_create_from_location_async.

#### Parameters

res | a GAsyncResult |
error | The location where to store any error, or `NULL` |

#### Returns

a new OsinfoMedia , or NULL on error.

[transfer full]

### osinfo_media_get_architecture ()

    const gchar *
    osinfo_media_get_architecture (OsinfoMedia *media);

Retrieves the target hardware architecture of the OS `media` provides.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the hardware architecture, or NULL.

[transfer none]

### osinfo_media_get_url ()

    const gchar *
    osinfo_media_get_url (OsinfoMedia *media);

The URL to the `media`

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the URL, or NULL.

[transfer none]

### osinfo_media_get_volume_id ()

    const gchar *
    osinfo_media_get_volume_id (OsinfoMedia *media);

If `media` is an ISO9660 image/device, this function retrieves the expected volume ID.

Note: In practice, this will usually not be the exact copy of the volume ID string on the ISO image/device but rather a regular expression that matches it.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the volume id, or NULL.

[transfer none]

### osinfo_media_get_system_id ()

    const gchar *
    osinfo_media_get_system_id (OsinfoMedia *media);

If `media` is an ISO9660 image/device, this function retrieves the expected system ID.

Note: In practice, this will usually not be the exact copy of the system ID string on the ISO image/device but rather a regular expression that matches it.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the system id, or NULL.

[transfer none]

### osinfo_media_get_publisher_id ()

    const gchar *
    osinfo_media_get_publisher_id (OsinfoMedia *media);

If `media` is an ISO9660 image/device, this function retrieves the expected publisher ID.

Note: In practice, this will usually not be the exact copy of the publisher ID string on the ISO image/device but rather a regular expression that matches it.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the publisher id, or NULL.

[transfer none]

### osinfo_media_get_application_id ()

    const gchar *
    osinfo_media_get_application_id (OsinfoMedia *media);

If `media` is an ISO9660 image/device, this function retrieves the expected application ID.

Note: In practice, this will usually not be the exact copy of the application ID string on the ISO image/device but rather a regular expression that matches it.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the application id, or NULL.

[transfer none]

### osinfo_media_get_kernel_path ()

    const gchar *
    osinfo_media_get_kernel_path (OsinfoMedia *media);

Retrieves the path to the kernel image in the install tree.

Note: This only applies to installer medias of 'linux' OS family.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the path to kernel image, or NULL.

[transfer none]

### osinfo_media_get_initrd_path ()

    const gchar *
    osinfo_media_get_initrd_path (OsinfoMedia *media);

Retrieves the path to the initrd image in the install tree.

Note: This only applies to installer medias of 'linux' OS family.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the path to initrd image, or NULL.

[transfer none]

### osinfo_media_get_os ()

    OsinfoOs *
    osinfo_media_get_os (OsinfoMedia *media);

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the operating system, or NULL.

[transfer full]

### osinfo_media_get_os_variants ()

    OsinfoOsVariantList *
    osinfo_media_get_os_variants (OsinfoMedia *media);

Gets the variants of the associated operating system.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the operating system variant, or NULL.

[transfer full]

### osinfo_media_get_languages ()

    GList *
    osinfo_media_get_languages (OsinfoMedia *media);

If media is an installer, this property indicates the languages that can be used during automatic installations.

On media that are not installers, this property will indicate the languages that the user interface can be displayed in. Use osinfo_media_get_installer(or OsinfoMedia::installer) to know if the media is an installer or not.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

a GList containing the list of the UI languages this media supports. The list must be freed with `g_list_free()` when no longer needed. If the supported languages are unknown, NULL will be returned.

[transfer container][element-type utf8]

### osinfo_media_get_installer ()

    gboolean
    osinfo_media_get_installer (OsinfoMedia *media);

Whether `media` provides an installer for an OS.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

TRUE if media is installer, FALSE otherwise

### osinfo_media_get_live ()

    gboolean
    osinfo_media_get_live (OsinfoMedia *media);

Whether `media` can boot directly an OS without any installations.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

TRUE if media is live, FALSE otherwise

### osinfo_media_get_installer_reboots ()

    gint
    osinfo_media_get_installer_reboots (OsinfoMedia *media);

If media is an installer, this method retrieves the number of reboots the installer takes before installation is complete.

This function is not supposed to be called on media that has no installer. You can use osinfo_media_get_installer(or OsinfoMedia::installer) to check that.

Warning: Some media allow you to install from live sessions, in which case number of reboots *alone* is not a reliable method for tracking installation.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the number of installer reboots or -1 if media is not an installer.

[transfer none]

### osinfo_media_get_volume_size ()

    gint64
    osinfo_media_get_volume_size (OsinfoMedia *media);

#### Parameters

media | an OsinfoMedia instance |

#### Returns

the ISO9660 volume size, in bytes or -1 if size is unknown or media is not an ISO9660 device/image.

[transfer none]

### osinfo_media_get_eject_after_install ()

    gboolean
    osinfo_media_get_eject_after_install (OsinfoMedia *media);

Whether `media` should ejected after the installation procces.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

TRUE if media should be ejected, FALSE otherwise

### osinfo_media_supports_installer_script ()

    gboolean
    osinfo_media_supports_installer_script
                                   (OsinfoMedia *media);

Whether `media` supports installation using install scripts.

#### Parameters

media | an OsinfoMedia instance |

#### Returns

TRUE if install-scripts are supported by the media, FALSE otherwise

### osinfo_media_add_install_script ()

    void
    osinfo_media_add_install_script (OsinfoMedia *media,
                                     OsinfoInstallScript *script);

Adds an `script` to the specified `media`

#### Parameters

media | an OsinfoMedia instance |
script | an OsinfoInstallScript instance |

### osinfo_media_get_install_script_list ()

    OsinfoInstallScriptList *
    osinfo_media_get_install_script_list (OsinfoMedia *media);

#### Parameters

media | an OsinfoMedia instance |

#### Returns

a list of the install scripts for the specified media.

[transfer full]

## Types and Values

### OSINFO_MEDIA_ERROR

    #define OSINFO_MEDIA_ERROR (osinfo_media_error_quark ())

### enum OsinfoMediaError

GError codes used for errors in the OSINFO_MEDIA_ERROR domain, during reading of data from install media location.

#### Members

OSINFO_MEDIA_ERROR_NO_DESCRIPTORS | No descriptors. |
OSINFO_MEDIA_ERROR_NO_PVD | No Primary volume descriptor. |
OSINFO_MEDIA_ERROR_NO_SVD | No supplementary volume descriptor. |
OSINFO_MEDIA_ERROR_INSUFFICIENT_METADATA | Not enough metadata. |
OSINFO_MEDIA_ERROR_NOT_BOOTABLE | Install media not bootable. |
OSINFO_MEDIA_ERROR_NO_DIRECTORY_RECORD_EXTENT | No directory record extent found. |

### OSINFO_MEDIA_PROP_ARCHITECTURE

    #define OSINFO_MEDIA_PROP_ARCHITECTURE   "architecture"

### OSINFO_MEDIA_PROP_URL

    #define OSINFO_MEDIA_PROP_URL            "url"

### OSINFO_MEDIA_PROP_VOLUME_ID

    #define OSINFO_MEDIA_PROP_VOLUME_ID      "volume-id"

### OSINFO_MEDIA_PROP_SYSTEM_ID

    #define OSINFO_MEDIA_PROP_SYSTEM_ID      "system-id"

### OSINFO_MEDIA_PROP_PUBLISHER_ID

    #define OSINFO_MEDIA_PROP_PUBLISHER_ID   "publisher-id"

### OSINFO_MEDIA_PROP_APPLICATION_ID

    #define OSINFO_MEDIA_PROP_APPLICATION_ID "application-id"

### OSINFO_MEDIA_PROP_KERNEL

    #define OSINFO_MEDIA_PROP_KERNEL         "kernel"

### OSINFO_MEDIA_PROP_INITRD

    #define OSINFO_MEDIA_PROP_INITRD         "initrd"

### OSINFO_MEDIA_PROP_LIVE

    #define OSINFO_MEDIA_PROP_LIVE           "live"

### OSINFO_MEDIA_PROP_INSTALLER

    #define OSINFO_MEDIA_PROP_INSTALLER      "installer"

### OSINFO_MEDIA_PROP_INSTALLER_REBOOTS

    #define OSINFO_MEDIA_PROP_INSTALLER_REBOOTS "installer-reboots"

### OSINFO_MEDIA_PROP_LANG

    #define OSINFO_MEDIA_PROP_LANG           "l10n-language"

### OSINFO_MEDIA_PROP_LANG_REGEX

    #define OSINFO_MEDIA_PROP_LANG_REGEX     "l10n-language-regex"

### OSINFO_MEDIA_PROP_LANG_MAP

    #define OSINFO_MEDIA_PROP_LANG_MAP       "l10n-language-map"

### OSINFO_MEDIA_PROP_VARIANT

    #define OSINFO_MEDIA_PROP_VARIANT        "variant"

### OSINFO_MEDIA_PROP_VOLUME_SIZE

    #define OSINFO_MEDIA_PROP_VOLUME_SIZE    "volume-size"

### OSINFO_MEDIA_PROP_EJECT_AFTER_INSTALL

    #define OSINFO_MEDIA_PROP_EJECT_AFTER_INSTALL "eject-after-install"

### OSINFO_MEDIA_PROP_INSTALLER_SCRIPT

    #define OSINFO_MEDIA_PROP_INSTALLER_SCRIPT "installer-script"

## Property Details

### The `“application-id”` property

      “application-id”           gchar *

Expected application ID (regular expression) for ISO9660 image/device.

Flags: Read / Write

Default value: NULL

### The `“architecture”` property

      “architecture”             gchar *

The target hardware architecture of this media.

Flags: Read / Write

Default value: NULL

### The `“eject-after-install”` property

      “eject-after-install”      gboolean

Whether the media should be ejected after the installation process.

Some distros need their media to not be ejected after the final reboot during its installation process as some packages are installed after the reboot (which may cause the media to be ejected, depending on the application).

Flags: Read / Write

Default value: TRUE

### The `“initrd-path”` property

      “initrd-path”              gchar *

The path to the initrd image in the install tree.

Flags: Read / Write

Default value: NULL

### The `“installer”` property

      “installer”                gboolean

Whether media provides an installer for an OS.

Flags: Read / Write

Default value: TRUE

### The `“installer-reboots”` property

      “installer-reboots”        gint

If media is an installer, this property indicates the number of reboots the installer takes before installation is complete.

This property is not applicable to media that has no installer. You can use osinfo_media_get_installer(or OsinfoMedia::installer) to check that.

Warning: Some media allow you to install from live sessions, in which case number of reboots *alone* is not a reliable method for tracking installation.

Flags: Read / Write

Default value: 1

### The `“installer-script”` property

      “installer-script”         gboolean

Whether the media supports installation via an install-script.

Some distros provide a few different medias and not all the medias support installation via an install script.

Flags: Read / Write

Default value: TRUE

### The `“kernel-path”` property

      “kernel-path”              gchar *

The path to the kernel image in the install tree.

Flags: Read / Write

Default value: NULL

### The `“languages”` property

      “languages”                gpointer

If media is an installer, this property indicates the languages that can be used during automatic installations.

On media that are not installers, this property will indicate the languages that the user interface can be displayed in. Use osinfo_media_get_installer(or OsinfoMedia::installer) to know if the media is an installer or not.

Type: GLib.List(utf8) Transfer: container

Flags: Read

### The `“live”` property

      “live”                     gboolean

Whether media can boot directly an OS without any installations.

Flags: Read / Write

Default value: FALSE

### The `“os”` property

      “os”                       OsinfoOs *

Os information for the current media. For media stored in an OsinfoDB, it will be filled when the database is loaded, otherwise the property will be filled after a successful call to `osinfo_db_identify_media()`.

Flags: Read / Write

### The `“publisher-id”` property

      “publisher-id”             gchar *

Expected publisher ID (regular expression) for ISO9660 image/device.

Flags: Read / Write

Default value: NULL

### The `“system-id”` property

      “system-id”                gchar *

Expected system ID (regular expression) for ISO9660 image/device.

Flags: Read / Write

Default value: NULL

### The `“url”` property

      “url”                      gchar *

The URL to this media.

Flags: Read / Write

Default value: NULL

### The `“volume-id”` property

      “volume-id”                gchar *

Expected volume ID (regular expression) for ISO9660 image/device.

Flags: Read / Write

Default value: NULL

### The `“volume-size”` property

      “volume-size”              gint64

Expected volume size, in bytes for ISO9660 image/device.

Flags: Read / Write

Allowed values: >= -2147483648

Default value: -1

## See Also

OsinfoOs