OsinfoEntity

## OsinfoEntity OsinfoEntity — Abstract base class for metadata objects |

## Synopsis

    #define             OSINFO_ENTITY_PROP_ID
    struct              OsinfoEntity;
    struct              OsinfoEntityClass;
    const gchar *       osinfo_entity_get_id                (OsinfoEntity *entity);
    GList *             osinfo_entity_get_param_keys        (OsinfoEntity *entity);
    const gchar *       osinfo_entity_get_param_value       (OsinfoEntity *entity,
                                                             const gchar *key);
    gboolean            osinfo_entity_get_param_value_boolean
                                                            (OsinfoEntity *entity,
                                                             const gchar *key);
    gboolean            osinfo_entity_get_param_value_boolean_with_default
                                                            (OsinfoEntity *entity,
                                                             const char *key,
                                                             gboolean default_value);
    gint                osinfo_entity_get_param_value_enum  (OsinfoEntity *entity,
                                                             const char *key,
                                                             GType enum_type,
                                                             gint default_value);
    gint64              osinfo_entity_get_param_value_int64 (OsinfoEntity *entity,
                                                             const gchar *key);
    gint64              osinfo_entity_get_param_value_int64_with_default
                                                            (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gint64 default_value);
    GList *             osinfo_entity_get_param_value_list  (OsinfoEntity *entity,
                                                             const gchar *key);
    void                osinfo_entity_set_param             (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             const gchar *value);
    void                osinfo_entity_set_param_boolean     (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gboolean value);
    void                osinfo_entity_set_param_int64       (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gint64 value);
    void                osinfo_entity_set_param_enum        (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gint value,
                                                             GType enum_type);
    void                osinfo_entity_add_param             (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             const gchar *value);
    void                osinfo_entity_clear_param           (OsinfoEntity *entity,
                                                             const gchar *key);

## Object Hierarchy

      GObject
       +----OsinfoEntity
             +----OsinfoAvatarFormat
             +----OsinfoDatamap
             +----OsinfoDeployment
             +----OsinfoDeviceDriver
             +----OsinfoDevice
             +----OsinfoDeviceLink
             +----OsinfoInstallConfig
             +----OsinfoInstallConfigParam
             +----OsinfoInstallScript
             +----OsinfoMedia
             +----OsinfoProduct
             +----OsinfoResources
             +----OsinfoTree

## Properties

      "id"                       gchar*                : Read / Write / Construct

## Description

OsinfoEntity is an abstract base class for all objects against which metadata needs to be recorded. Every object has a unique identifier, which is recommended to be in URI format. Named, multi-valued data parameters can be associated with each entity. When filtering lists of entities, the parameter values can be used for matching.

## Details

### OSINFO_ENTITY_PROP_ID

    #define OSINFO_ENTITY_PROP_ID "id"

### struct OsinfoEntity

    struct OsinfoEntity;

### struct OsinfoEntityClass

    struct OsinfoEntityClass {
    };

### osinfo_entity_get_id ()

    const gchar *       osinfo_entity_get_id                (OsinfoEntity *entity);

Retrieves the unique key for the entity. The format of identifiers is undefined, but the recommended practice is to use a URI.

`entity` : | an OsinfoEntity
Returns : | the unique key for the entity. [transfer none]

### osinfo_entity_get_param_keys ()

    GList *             osinfo_entity_get_param_keys        (OsinfoEntity *entity);

Retrieve all the known parameter keys associated with the entity

`entity` : | an OsinfoEntity containing the parameters
Returns : | The list of string parameters. [transfer container][element-type utf8]

### osinfo_entity_get_param_value ()

    const gchar *       osinfo_entity_get_param_value       (OsinfoEntity *entity,
                                                             const gchar *key);

Retrieve the parameter value associated with a named key. If multiple values are stored against the key, only the first value is returned. If no value is associated, NULL is returned

`entity` : | an OsinfoEntity containing the parameters
`key` : | the name of the key
Returns : | the value associated with the key, or NULL. [transfer none]

### osinfo_entity_get_param_value_boolean ()

    gboolean            osinfo_entity_get_param_value_boolean
                                                            (OsinfoEntity *entity,
                                                             const gchar *key);

### osinfo_entity_get_param_value_boolean_with_default ()

    gboolean            osinfo_entity_get_param_value_boolean_with_default
                                                            (OsinfoEntity *entity,
                                                             const char *key,
                                                             gboolean default_value);

### osinfo_entity_get_param_value_enum ()

    gint                osinfo_entity_get_param_value_enum  (OsinfoEntity *entity,
                                                             const char *key,
                                                             GType enum_type,
                                                             gint default_value);

### osinfo_entity_get_param_value_int64 ()

    gint64              osinfo_entity_get_param_value_int64 (OsinfoEntity *entity,
                                                             const gchar *key);

### osinfo_entity_get_param_value_int64_with_default ()

    gint64              osinfo_entity_get_param_value_int64_with_default
                                                            (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gint64 default_value);

### osinfo_entity_get_param_value_list ()

    GList *             osinfo_entity_get_param_value_list  (OsinfoEntity *entity,
                                                             const gchar *key);

Retrieve all the parameter values associated with a named key. If no values are associated, NULL is returned

`entity` : | an OsinfoEntity containing the parameters
`key` : | the name of the key
Returns : | the values associated with the key. [transfer container][element-type utf8]

### osinfo_entity_set_param ()

    void                osinfo_entity_set_param             (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             const gchar *value);

Sets a new parameter against the entity. If the key already has a value associated with it, the existing value will be cleared.

`entity` : | an OsinfoEntity containing the parameters
`key` : | the name of the key
`value` : | the data to associated with that key

### osinfo_entity_set_param_boolean ()

    void                osinfo_entity_set_param_boolean     (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gboolean value);

### osinfo_entity_set_param_int64 ()

    void                osinfo_entity_set_param_int64       (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gint64 value);

### osinfo_entity_set_param_enum ()

    void                osinfo_entity_set_param_enum        (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             gint value,
                                                             GType enum_type);

### osinfo_entity_add_param ()

    void                osinfo_entity_add_param             (OsinfoEntity *entity,
                                                             const gchar *key,
                                                             const gchar *value);

Adds a new parameter against the entity. A key can have multiple values associated. Thus repeated calls with the same key will build up a list of possible values.

`entity` : | an OsinfoEntity containing the parameters
`key` : | the name of the key
`value` : | the data to associated with that key

### osinfo_entity_clear_param ()

    void                osinfo_entity_clear_param           (OsinfoEntity *entity,
                                                             const gchar *key);

Remove all values associated with a key

`entity` : | an OsinfoEntity containing the parameters
`key` : | the name of the key

## Property Details

### The `"id"` property

      "id"                       gchar*                : Read / Write / Construct

The unique identifier for the entity The format of identifiers is undefined, but the recommended practice is to use a URI. This parameter must be set at time of construction as no default value is provided.

Default value: NULL

## See Also

OsinfoList, OsinfoDb