## osinfo_product

osinfo_product — 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 ()
GList * | osinfo_product_get_short_id_list ()

## Types and Values

#define | OSINFO_TYPE_PRODUCT
#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

## 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 *product);

### osinfo_product_get_version ()

    const gchar *
    osinfo_product_get_version (OsinfoProduct *product);

### osinfo_product_get_short_id ()

    const gchar *
    osinfo_product_get_short_id (OsinfoProduct *product);

### osinfo_product_get_name ()

    const gchar *
    osinfo_product_get_name (OsinfoProduct *product);

### osinfo_product_get_codename ()

    const gchar *
    osinfo_product_get_codename (OsinfoProduct *product);

#### Parameters

product | an product |

#### Returns

The product's codename, or NULL.

### osinfo_product_get_release_date_string ()

    const gchar *
    osinfo_product_get_release_date_string
                                   (OsinfoProduct *product);

#### Parameters

product | an product |

#### Returns

A string representing the product's release date, or NULL.

Since: 0.2.8

### osinfo_product_get_eol_date_string ()

    const gchar *
    osinfo_product_get_eol_date_string (OsinfoProduct *product);

#### Parameters

product | an product |

#### Returns

A string representing the product's EOL date, or NULL.

Since: 0.2.8

### osinfo_product_get_release_date ()

    GDate *
    osinfo_product_get_release_date (OsinfoProduct *product);

#### Parameters

product | an product |

#### Returns

A GDate representing the product's release date, or NULL.

[transfer full]

Since: 0.2.8

### osinfo_product_get_eol_date ()

    GDate *
    osinfo_product_get_eol_date (OsinfoProduct *product);

#### Parameters

product | an product |

#### Returns

A GDate representing the product's EOL date, or NULL.

[transfer full]

Since: 0.2.8

### osinfo_product_get_logo ()

    const gchar *
    osinfo_product_get_logo (OsinfoProduct *product);

### osinfo_product_get_short_id_list ()

    GList *
    osinfo_product_get_short_id_list (OsinfoProduct *product);

Retrieve all the short-ids associated with the product.

#### Parameters

product | an OsinfoProduct |

#### Returns

the list of short-ids.

[transfer container][element-type utf8]

Since: 1.5.0

## Types and Values

### OSINFO_TYPE_PRODUCT

    #define OSINFO_TYPE_PRODUCT (osinfo_product_get_type ())

### 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 (CentOS-5 clones RHEL-5) |

## See Also

OsinfoProduct, OsinfoPlatform