Libosinfo Reference Manual: OsinfoProduct

## OsinfoProduct OsinfoProduct — An software product |

## Functions

OsinfoProductList * | osinfo_product_get_related ()
void | osinfo_product_add_related ()
const gchar * | osinfo_product_get_vendor ()
const gchar * | osinfo_product_get_version ()
const gchar * | osinfo_product_get_short_id ()
const gchar * | osinfo_product_get_name ()
const gchar * | osinfo_product_get_codename ()
const gchar * | osinfo_product_get_release_date_string ()
const gchar * | osinfo_product_get_eol_date_string ()
GDate * | osinfo_product_get_release_date ()
GDate * | osinfo_product_get_eol_date ()
const gchar * | osinfo_product_get_logo ()

## Properties

gchar * | codename | Read
gchar * | logo | Read
gchar * | name | Read
gchar * | short-id | Read
gchar * | vendor | Read
gchar * | version | Read

## Types and Values

#define | OSINFO_PRODUCT_PROP_VENDOR
#define | OSINFO_PRODUCT_PROP_VERSION
#define | OSINFO_PRODUCT_PROP_SHORT_ID
#define | OSINFO_PRODUCT_PROP_NAME
#define | OSINFO_PRODUCT_PROP_RELEASE_DATE
#define | OSINFO_PRODUCT_PROP_EOL_DATE
#define | OSINFO_PRODUCT_PROP_CODENAME
#define | OSINFO_PRODUCT_PROP_LOGO
enum | OsinfoProductRelationship

## Object Hierarchy

        GEnum
        ╰── OsinfoProductRelationship
        GObject
        ╰── OsinfoEntity
            ╰── OsinfoProduct
                ├── OsinfoOs
                ╰── OsinfoPlatform

## Description

OsinfoProduct is an entity representing an software product. There are relationships amongst products to declare which are newest releases, which are clones and which are derived from a common ancestry.

## Functions

### osinfo_product_get_related ()

    OsinfoProductList *
    osinfo_product_get_related (OsinfoProduct *product,
                                OsinfoProductRelationship relshp);

Get a list of products satisfying the requested relationship

#### Parameters

product | an product |
relshp | the relationship to query |

#### Returns

a list of related products.

[transfer full]

### osinfo_product_add_related ()

    void
    osinfo_product_add_related (OsinfoProduct *product,
                                OsinfoProductRelationship relshp,
                                OsinfoProduct *otherproduct);

Add an association between two products

#### Parameters

product | a product |
relshp | the relationship |
otherproduct | the product to relate to. | [transfer none]

### osinfo_product_get_vendor ()

    const gchar *
    osinfo_product_get_vendor (OsinfoProduct *prod);

### osinfo_product_get_version ()

    const gchar *
    osinfo_product_get_version (OsinfoProduct *prod);

### osinfo_product_get_short_id ()

    const gchar *
    osinfo_product_get_short_id (OsinfoProduct *prod);

### osinfo_product_get_name ()

    const gchar *
    osinfo_product_get_name (OsinfoProduct *prod);

### osinfo_product_get_codename ()

    const gchar *
    osinfo_product_get_codename (OsinfoProduct *prod);

### osinfo_product_get_release_date_string ()

    const gchar *
    osinfo_product_get_release_date_string
                                   (OsinfoProduct *prod);

### osinfo_product_get_eol_date_string ()

    const gchar *
    osinfo_product_get_eol_date_string (OsinfoProduct *prod);

### osinfo_product_get_release_date ()

    GDate *
    osinfo_product_get_release_date (OsinfoProduct *prod);

### osinfo_product_get_eol_date ()

    GDate *
    osinfo_product_get_eol_date (OsinfoProduct *prod);

### osinfo_product_get_logo ()

    const gchar *
    osinfo_product_get_logo (OsinfoProduct *prod);

## Types and Values

### OSINFO_PRODUCT_PROP_VENDOR

    #define OSINFO_PRODUCT_PROP_VENDOR       "vendor"

### OSINFO_PRODUCT_PROP_VERSION

    #define OSINFO_PRODUCT_PROP_VERSION      "version"

### OSINFO_PRODUCT_PROP_SHORT_ID

    #define OSINFO_PRODUCT_PROP_SHORT_ID     "short-id"

### OSINFO_PRODUCT_PROP_NAME

    #define OSINFO_PRODUCT_PROP_NAME         "name"

### OSINFO_PRODUCT_PROP_RELEASE_DATE

    #define OSINFO_PRODUCT_PROP_RELEASE_DATE "release-date"

### OSINFO_PRODUCT_PROP_EOL_DATE

    #define OSINFO_PRODUCT_PROP_EOL_DATE     "eol-date"

### OSINFO_PRODUCT_PROP_CODENAME

    #define OSINFO_PRODUCT_PROP_CODENAME     "codename"

### OSINFO_PRODUCT_PROP_LOGO

    #define OSINFO_PRODUCT_PROP_LOGO         "logo"

### enum OsinfoProductRelationship

Enum values used to form relationships between products

#### Members

OSINFO_PRODUCT_RELATIONSHIP_DERIVES_FROM | a descendent (RHEL-5 derives from Fedora-6) |
OSINFO_PRODUCT_RELATIONSHIP_UPGRADES | a new version release (RHEL-6 upgrades RHEL-4) |
OSINFO_PRODUCT_RELATIONSHIP_CLONES | a perfect clone (CentPRODUCT-5 clones RHEL-5) |

## Property Details

### The `“codename”` property

      “codename”                 gchar *

The codename of this product.

Flags: Read

Default value: NULL

### The `“logo”` property

      “logo”                     gchar *

The URI of the logo of the product.

Flags: Read

Default value: NULL

### The `“name”` property

      “name”                     gchar *

The name of this product.

Flags: Read

Default value: NULL

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

      “short-id”                 gchar *

The short ID of this product.

Flags: Read

Default value: NULL

### The `“vendor”` property

      “vendor”                   gchar *

The Vendor of this product.

Flags: Read

Default value: NULL

### The `“version”` property

      “version”                  gchar *

The version of the product.

Flags: Read

Default value: NULL

## See Also

OsinfoProduct, OsinfoPlatform