Attributes manager: libgda Reference Manual

## Attributes manager Attributes manager — Manager for lists of attributes |

## Stability Level

Stable, unless otherwise indicated

## Types and Values

#define | GDA_ATTRIBUTE_NAME
#define | GDA_ATTRIBUTE_DESCRIPTION
#define | GDA_ATTRIBUTE_AUTO_INCREMENT
#define | GDA_ATTRIBUTE_NUMERIC_PRECISION
#define | GDA_ATTRIBUTE_NUMERIC_SCALE
#define | GDA_ATTRIBUTE_IS_DEFAULT
#define | GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN

## Description

he GdaAttributesManager manages lists of named values (attributes) for the benefit of others (objects or resources for which only a pointer is known). It is used internally by libgda whenever an object or a simple structure may have several attributes.

The features are similar to those of the `g_object_set_data()` and similar but with the following major differences:

- it works with GObject objects and also with simple pointers to data

- attributes names are considered static (they are not copied) and so they must either be static strings or allocated strings which exist (unchanged) while an attribute uses it as name

- it is possible to iterate through the attributes

- the associated values are expected to be GValue values

Attibute names can be any string, but libgda reserves some for its own usage, see below.

The GdaAttributesManager implements its own locking mechanism so it is thread-safe.

## Functions

## Types and Values

### GDA_ATTRIBUTE_NAME

    #define GDA_ATTRIBUTE_NAME "__gda_attr_name"

### GDA_ATTRIBUTE_DESCRIPTION

    #define GDA_ATTRIBUTE_DESCRIPTION "__gda_attr_descr"

### GDA_ATTRIBUTE_AUTO_INCREMENT

    #define GDA_ATTRIBUTE_AUTO_INCREMENT "__gda_attr_autoinc"

### GDA_ATTRIBUTE_NUMERIC_PRECISION

    #define GDA_ATTRIBUTE_NUMERIC_PRECISION "__gda_attr_numeric_precision"

### GDA_ATTRIBUTE_NUMERIC_SCALE

    #define GDA_ATTRIBUTE_NUMERIC_SCALE "__gda_attr_numeric_scale"

### GDA_ATTRIBUTE_IS_DEFAULT

    #define GDA_ATTRIBUTE_IS_DEFAULT "__gda_attr_is_default"

### GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN

    #define GDA_ATTRIBUTE_TREE_NODE_UNKNOWN_CHILDREN "__gda_attr_tnuchild"