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

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().

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;

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;


GnomeKeyringAttribute

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

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)


gnome_keyring_attribute_list_new ()

GnomeKeyringAttributeList * gnome_keyring_attribute_list_new
                                                        (void);

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);

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);

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);

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);

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);

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);

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.