## Item Attributes Item Attributes — Attributes of individual keyring items. |

## Synopsis

    enum                GnomeKeyringAttributeType;
    typedef             GnomeKeyringAttributeList;
                        GnomeKeyringAttribute;
    #define             gnome_keyring_attribute_list_index  (a,
                                                             i)
    GnomeKeyringAttributeList * gnome_keyring_attribute_list_new
                                                            (void);
    void                gnome_keyring_attribute_list_append_string
                                                            (GnomeKeyringAttributeList *attributes,
                                                             const char *name,
                                                             const char *value);
    void                gnome_keyring_attribute_list_append_uint32
                                                            (GnomeKeyringAttributeList *attributes,
                                                             const char *name,
                                                             guint32 value);
    void                gnome_keyring_attribute_list_free   (GnomeKeyringAttributeList *attributes);
    GnomeKeyringAttributeList * gnome_keyring_attribute_list_copy
                                                            (GnomeKeyringAttributeList *attributes);
    const gchar *       gnome_keyring_attribute_get_string  (GnomeKeyringAttribute *attribute);
    guint32             gnome_keyring_attribute_get_uint32  (GnomeKeyringAttribute *attribute);

## Description

### Warning

All of these APIs are deprecated. Use libsecret instead.

Attributes allow various other pieces of information to be associated with an item. These can also be used to search for relevant items. Use `gnome_keyring_item_get_attributes()` or `gnome_keyring_item_set_attributes()`.

Attributes are not stored in a secret or encrypted manner by gnome-keyring. Do not store sensitive information in attributes.

Each attribute has either a string, or unsigned integer value.

## Details

### enum GnomeKeyringAttributeType

    typedef enum {
    	GNOME_KEYRING_ATTRIBUTE_TYPE_STRING,
    	GNOME_KEYRING_ATTRIBUTE_TYPE_UINT32
    } GnomeKeyringAttributeType;

### Warning

`GnomeKeyringAttributeType` is deprecated and should not be used in newly-written code.

The data type of the item attribute.

`GNOME_KEYRING_ATTRIBUTE_TYPE_STRING` | A UTF-8 encoded string attribute.
`GNOME_KEYRING_ATTRIBUTE_TYPE_UINT32` | A unsigned integer attribute.

### GnomeKeyringAttributeList

    typedef GArray GnomeKeyringAttributeList;

### Warning

`GnomeKeyringAttributeList` is deprecated and should not be used in newly-written code.

### GnomeKeyringAttribute

    typedef struct {
    	char *name;
    	GnomeKeyringAttributeType type;
    	union {
    		char *string;
    		guint32 integer;
    	} value;
    } GnomeKeyringAttribute;

### Warning

`GnomeKeyringAttribute` is deprecated and should not be used in newly-written code. libsecret only supports string attributes.

An item attribute. Set `string` if data type is `GNOME_KEYRING_ATTRIBUTE_TYPE_STRING` or `integer` if data type is `GNOME_KEYRING_ATTRIBUTE_TYPE_UINT32`

char *`name`; | The name of the attribute.
GnomeKeyringAttributeType `type`; | The data type.

### gnome_keyring_attribute_list_index()

    #define             gnome_keyring_attribute_list_index(a, i)

### Warning

`gnome_keyring_attribute_list_index` is deprecated and should not be used in newly-written code.

### gnome_keyring_attribute_list_new ()

    GnomeKeyringAttributeList * gnome_keyring_attribute_list_new
                                                            (void);

### Warning

`gnome_keyring_attribute_list_new` is deprecated and should not be used in newly-written code. libsecret stores attributes as a GHashTable containing string keys and values; use `g_hash_table_new()` instead.

Create a new GnomeKeyringAttributeList.

Returns : | The new GnomeKeyringAttributeList. [transfer full]

### gnome_keyring_attribute_list_append_string ()

    void                gnome_keyring_attribute_list_append_string
                                                            (GnomeKeyringAttributeList *attributes,
                                                             const char *name,
                                                             const char *value);

### Warning

`gnome_keyring_attribute_list_append_string` is deprecated and should not be used in newly-written code. libsecret stores attributes as a GHashTable containing string keys and values, use `g_hash_table_replace()` instead.

Store a key-value-pair with a string value in `attributes`.

`attributes` : | A GnomeKeyringAttributeList
`name` : | The name of the new attribute
`value` : | The value to store in `attributes`

### gnome_keyring_attribute_list_append_uint32 ()

    void                gnome_keyring_attribute_list_append_uint32
                                                            (GnomeKeyringAttributeList *attributes,
                                                             const char *name,
                                                             guint32 value);

### Warning

`gnome_keyring_attribute_list_append_uint32` is deprecated and should not be used in newly-written code. libsecret does not support number attributes.

Store a key-value-pair with an unsigned 32bit number value in `attributes`.

`attributes` : | A GnomeKeyringAttributeList
`name` : | The name of the new attribute
`value` : | The value to store in `attributes`

### gnome_keyring_attribute_list_free ()

    void                gnome_keyring_attribute_list_free   (GnomeKeyringAttributeList *attributes);

### Warning

`gnome_keyring_attribute_list_free` is deprecated and should not be used in newly-written code. libsecret stores attributes as a GHashTable containing string keys and values, use `g_hash_table_unref()` instead.

Free the memory used by `attributes`.

If a `NULL` pointer is passed, it is ignored.

`attributes` : | A GnomeKeyringAttributeList

### gnome_keyring_attribute_list_copy ()

    GnomeKeyringAttributeList * gnome_keyring_attribute_list_copy
                                                            (GnomeKeyringAttributeList *attributes);

### Warning

`gnome_keyring_attribute_list_copy` is deprecated and should not be used in newly-written code. Not needed when using libsecret.

Copy a list of item attributes.

`attributes` : | A GnomeKeyringAttributeList to copy.
Returns : | The new GnomeKeyringAttributeList. [transfer full]

### gnome_keyring_attribute_get_string ()

    const gchar *       gnome_keyring_attribute_get_string  (GnomeKeyringAttribute *attribute);

### Warning

`gnome_keyring_attribute_get_string` is deprecated and should not be used in newly-written code. Not needed when using libsecret.

Return the string value. It is an error to call this method if `attribute.type` is not GNOME_KEYRING_ATTRIBUTE_TYPE_STRING. This method is mostly useful for language bindings which do not provide union access. In C you should just use attribute->value.string.

`attribute` : | a GnomeKeyringAttribute
Returns : | The value.string pointer of `attribute`. This is not a copy, do not free. [transfer none]

### gnome_keyring_attribute_get_uint32 ()

    guint32             gnome_keyring_attribute_get_uint32  (GnomeKeyringAttribute *attribute);

### Warning

`gnome_keyring_attribute_get_uint32` is deprecated and should not be used in newly-written code. Not needed when using libsecret.

Return the uint32 value. It is an error to call this method if `attribute.type` is not GNOME_KEYRING_ATTRIBUTE_TYPE_UINT32. This method is mostly useful for language bindings which do not provide union access. In C you should just use attribute->value.integer.

`attribute` : | a GnomeKeyringAttribute
Returns : | The value.integer of `attribute`.