OsinfoOs

OsinfoOs — An operating system

Synopsis

#define             OSINFO_OS_PROP_FAMILY
#define             OSINFO_OS_PROP_DISTRO
#define             OSINFO_OS_PROP_RELEASE_STATUS
                    OsinfoOs;
struct              OsinfoOsClass;
enum                OsinfoReleaseStatus;
OsinfoOs *          osinfo_os_new                       (const gchar *id);
OsinfoDeviceList *  osinfo_os_get_devices               (OsinfoOs *os,
                                                         OsinfoFilter *filter);
OsinfoDeviceList *  osinfo_os_get_all_devices           (OsinfoOs *os,
                                                         OsinfoFilter *filter);
OsinfoDeviceList *  osinfo_os_get_devices_by_property   (OsinfoOs *os,
                                                         const char *property,
                                                         const char *value,
                                                         gboolean inherited);
OsinfoDeviceLinkList * osinfo_os_get_device_links       (OsinfoOs *os,
                                                         OsinfoFilter *filter);
OsinfoDeviceLink *  osinfo_os_add_device                (OsinfoOs *os,
                                                         OsinfoDevice *dev);
const gchar *       osinfo_os_get_family                (OsinfoOs *os);
const gchar *       osinfo_os_get_distro                (OsinfoOs *os);
int                 osinfo_os_get_release_status        (OsinfoOs *os);
OsinfoMediaList *   osinfo_os_get_media_list            (OsinfoOs *os);
void                osinfo_os_add_media                 (OsinfoOs *os,
                                                         OsinfoMedia *media);
OsinfoTreeList *    osinfo_os_get_tree_list             (OsinfoOs *os);
void                osinfo_os_add_tree                  (OsinfoOs *os,
                                                         OsinfoTree *tree);
OsinfoOsVariantList * osinfo_os_get_variant_list        (OsinfoOs *os);
void                osinfo_os_add_variant               (OsinfoOs *os,
                                                         OsinfoOsVariant *variant);
OsinfoResourcesList * osinfo_os_get_minimum_resources   (OsinfoOs *os);
OsinfoResourcesList * osinfo_os_get_recommended_resources
                                                        (OsinfoOs *os);
void                osinfo_os_add_minimum_resources     (OsinfoOs *os,
                                                         OsinfoResources *resources);
void                osinfo_os_add_recommended_resources (OsinfoOs *os,
                                                         OsinfoResources *resources);
OsinfoInstallScript * osinfo_os_find_install_script     (OsinfoOs *os,
                                                         const gchar *profile);
OsinfoInstallScriptList * osinfo_os_get_install_script_list
                                                        (OsinfoOs *os);
void                osinfo_os_add_install_script        (OsinfoOs *os,
                                                         OsinfoInstallScript *script);
OsinfoDeviceDriverList * osinfo_os_get_device_drivers   (OsinfoOs *os);
void                osinfo_os_add_device_driver         (OsinfoOs *os,
                                                         OsinfoDeviceDriver *driver);

Object Hierarchy

  GObject
   +----OsinfoEntity
         +----OsinfoProduct
               +----OsinfoOs
  GEnum
   +----OsinfoReleaseStatus

Properties

  "distro"                   gchar*                : Read
  "family"                   gchar*                : Read

Description

OsinfoOs is an entity representing an operating system. Operating systems have a list of supported devices. There are relationships amongst operating systems to declare which are newest releases, which are clones and which are derived from a common ancestry.

Details

OSINFO_OS_PROP_FAMILY

#define OSINFO_OS_PROP_FAMILY                 "family"

OSINFO_OS_PROP_DISTRO

#define OSINFO_OS_PROP_DISTRO                 "distro"

OSINFO_OS_PROP_RELEASE_STATUS

#define OSINFO_OS_PROP_RELEASE_STATUS         "release-status"

OsinfoOs

typedef struct _OsinfoOs OsinfoOs;

struct OsinfoOsClass

struct OsinfoOsClass {
};

enum OsinfoReleaseStatus

typedef enum {
    OSINFO_RELEASE_STATUS_RELEASED,
    OSINFO_RELEASE_STATUS_SNAPSHOT,
    OSINFO_RELEASE_STATUS_PRERELEASE
} OsinfoReleaseStatus;

OSINFO_RELEASE_STATUS_RELEASED

A released OS.

OSINFO_RELEASE_STATUS_SNAPSHOT

A continuous integration snapshot and not an actual released product yet. For example, gnome-continuous images for development snapshots of GNOME and nightly build ISOs of Fedora etc.

OSINFO_RELEASE_STATUS_PRERELEASE

A pre-release. For example, alpha and beta pre-releases of Fedora etc.

osinfo_os_new ()

OsinfoOs *          osinfo_os_new                       (const gchar *id);

Create a new operating system entity

id :

a unique identifier

Returns :

a new operating system entity. [transfer full]

osinfo_os_get_devices ()

OsinfoDeviceList *  osinfo_os_get_devices               (OsinfoOs *os,
                                                         OsinfoFilter *filter);

Get all devices matching a given filter

os :

an operating system

filter :

an optional device property filter. [allow-none][transfer none]

Returns :

A list of devices. [transfer full]

osinfo_os_get_all_devices ()

OsinfoDeviceList *  osinfo_os_get_all_devices           (OsinfoOs *os,
                                                         OsinfoFilter *filter);

Get all devices matching a given filter but unlike osinfo_os_get_devices this function also retrieves devices from all derived and cloned operating systems.

os :

an operating system

filter :

an optional device property filter. [allow-none][transfer none]

Returns :

A list of devices. [transfer full]

osinfo_os_get_devices_by_property ()

OsinfoDeviceList *  osinfo_os_get_devices_by_property   (OsinfoOs *os,
                                                         const char *property,
                                                         const char *value,
                                                         gboolean inherited);

A utility function that gets devices found from the list of devices os supports, for which the value of property is value.

os :

an operating system

property :

the property of interest

value :

the required value of property property

inherited :

Should devices from inherited and cloned OSs be included in the search.

Returns :

The found devices. [transfer full]

osinfo_os_get_device_links ()

OsinfoDeviceLinkList * osinfo_os_get_device_links       (OsinfoOs *os,
                                                         OsinfoFilter *filter);

Get all devices matching a given filter. The filter matches against the links, not the devices.

os :

an operating system

filter :

an optional device property filter. [allow-none][transfer none]

Returns :

A list of device links. [transfer full]

osinfo_os_add_device ()

OsinfoDeviceLink *  osinfo_os_add_device                (OsinfoOs *os,
                                                         OsinfoDevice *dev);

Associated a device with an operating system. The returned OsinfoDeviceLink can be used to record extra metadata against the link

os :

an operating system

dev :

the device to associate with. [transfer none]

Returns :

the device association. [transfer none]

osinfo_os_get_family ()

const gchar *       osinfo_os_get_family                (OsinfoOs *os);

Retrieves the generic family the OS os belongs to, based upon its kernel, for example linux, winnt, solaris, freebsd etc.

os :

an OsinfoOs

Returns :

the family of this os. [transfer none]

osinfo_os_get_distro ()

const gchar *       osinfo_os_get_distro                (OsinfoOs *os);

Retrieves the generic family the OS os belongs to, for example fedora, ubuntu, windows, solaris, freebsd etc.

os :

an OsinfoOs

Returns :

the distro of this os. [transfer none]

osinfo_os_get_release_status ()

int                 osinfo_os_get_release_status        (OsinfoOs *os);

Use this to determine the release status of the os.

os :

an OsinfoOs

Returns :

release status of os. [type OsinfoReleaseStatus]

osinfo_os_get_media_list ()

OsinfoMediaList *   osinfo_os_get_media_list            (OsinfoOs *os);

Get all installation medias associated with operating system os.

os :

an operating system

Returns :

A list of medias. [transfer full]

osinfo_os_add_media ()

void                osinfo_os_add_media                 (OsinfoOs *os,
                                                         OsinfoMedia *media);

Adds installation media media to operating system os.

os :

an operating system

media :

the media to add. [transfer none]

osinfo_os_get_tree_list ()

OsinfoTreeList *    osinfo_os_get_tree_list             (OsinfoOs *os);

Get all installation trees associated with operating system os.

os :

an operating system

Returns :

A list of trees. [transfer full]

osinfo_os_add_tree ()

void                osinfo_os_add_tree                  (OsinfoOs *os,
                                                         OsinfoTree *tree);

Adds installation tree tree to operating system os.

os :

an operating system

tree :

the tree to add. [transfer none]

osinfo_os_get_variant_list ()

OsinfoOsVariantList * osinfo_os_get_variant_list        (OsinfoOs *os);

Gets all known variants of operating system os.

os :

an operating system

Returns :

A list of variants. [transfer full]

osinfo_os_add_variant ()

void                osinfo_os_add_variant               (OsinfoOs *os,
                                                         OsinfoOsVariant *variant);

Adds a variant variant to operating system os.

os :

an operating system

variant :

the variant to add. [transfer none]

osinfo_os_get_minimum_resources ()

OsinfoResourcesList * osinfo_os_get_minimum_resources   (OsinfoOs *os);

Get the list of minimum required resources for the operating system os.

os :

an operating system

Returns :

A list of resources. [transfer full]

osinfo_os_get_recommended_resources ()

OsinfoResourcesList * osinfo_os_get_recommended_resources
                                                        (OsinfoOs *os);

Get the list of recommended resources for the operating system os.

os :

an operating system

Returns :

A list of resources. [transfer full]

osinfo_os_add_minimum_resources ()

void                osinfo_os_add_minimum_resources     (OsinfoOs *os,
                                                         OsinfoResources *resources);

Adds resources to list of minimum resources of operating system os.

os :

an operating system

resources :

the resources to add. [transfer none]

osinfo_os_add_recommended_resources ()

void                osinfo_os_add_recommended_resources (OsinfoOs *os,
                                                         OsinfoResources *resources);

Adds resources to list of recommended resources of operating system os.

os :

an operating system

resources :

the resources to add. [transfer none]

osinfo_os_find_install_script ()

OsinfoInstallScript * osinfo_os_find_install_script     (OsinfoOs *os,
                                                         const gchar *profile);

os :

an operating system

profile :

the install script profile

Returns :

A new OsinfoInstallScript for the os profile. [transfer full]

osinfo_os_get_install_script_list ()

OsinfoInstallScriptList * osinfo_os_get_install_script_list
                                                        (OsinfoOs *os);

os :

an operating system

Returns :

a list of the install scripts for the specified os. [transfer full]

osinfo_os_add_install_script ()

void                osinfo_os_add_install_script        (OsinfoOs *os,
                                                         OsinfoInstallScript *script);

osinfo_os_get_device_drivers ()

OsinfoDeviceDriverList * osinfo_os_get_device_drivers   (OsinfoOs *os);

Gets list of all available device drivers for OS os.

os :

an operating system

Returns :

A list of device drivers. [transfer none]

osinfo_os_add_device_driver ()

void                osinfo_os_add_device_driver         (OsinfoOs *os,
                                                         OsinfoDeviceDriver *driver);

Property Details

The "distro" property

  "distro"                   gchar*                : Read

The generic distro this OS belongs to, for example fedora, windows, solaris, freebsd etc.

Default value: NULL


The "family" property

  "family"                   gchar*                : Read

The generic family this OS belongs to, based upon its kernel, for example linux, winnt, solaris, freebsd etc.

Default value: NULL

See Also

OsinfoOs, OsinfoDeployment