OsinfoEntity

OsinfoEntity — Abstract base class for metadata objects

Synopsis

#define             OSINFO_ENTITY_PROP_ID
struct              OsinfoEntity;
struct              OsinfoEntityClass;
void                osinfo_entity_add_param             (OsinfoEntity *entity,
                                                         const gchar *key,
                                                         const gchar *value);
void                osinfo_entity_clear_param           (OsinfoEntity *entity,
                                                         const gchar *key);
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);
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);

Object Hierarchy

  GObject
   +----OsinfoEntity
         +----OsinfoDeployment
         +----OsinfoDevice
         +----OsinfoDeviceLink
         +----OsinfoMedia
         +----OsinfoProduct
         +----OsinfoResources
         +----OsinfoTree

Properties

  "id"                       gchar*                : Read / Write / Construct Only

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 {
    GObjectClass parent_class;

    /* class members */
};

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 :

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 :

OsinfoEntity containing the parameters

key :

the name of the key

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 :

a 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 :

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 :

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_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 :

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 :

OsinfoEntity containing the parameters

key :

the name of the key

value :

the data to associated with that key

Property Details

The "id" property

  "id"                       gchar*                : Read / Write / Construct Only

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