## AtkRegistry

AtkRegistry — An object used to store the GType of the factories used to create an accessible object for an object of a particular GType.

## Synopsis

                        AtkRegistry;
    void                atk_registry_set_factory_type       (AtkRegistry *registry,
                                                             GType type,
                                                             GType factory_type);
    GType               atk_registry_get_factory_type       (AtkRegistry *registry,
                                                             GType type);
    AtkObjectFactory*   atk_registry_get_factory            (AtkRegistry *registry,
                                                             GType type);
    AtkRegistry*        atk_get_default_registry            (void);

## Object Hierarchy

      GObject
       +----AtkRegistry

## Description

The AtkRegistry is normally used to create appropriate ATK "peers" for user interface components. Application developers usually need only interact with the AtkRegistry by associating appropriate ATK implementation classes with GObject classes via the atk_registry_set_factory_type call, passing the appropriate GType for application custom widget classes.

## Details

### AtkRegistry

    typedef struct _AtkRegistry AtkRegistry;

The AtkRegistry structure should not be accessed directly.

### atk_registry_set_factory_type ()

    void                atk_registry_set_factory_type       (AtkRegistry *registry,
                                                             GType type,
                                                             GType factory_type);

Associate an AtkObjectFactory subclass with a GType. Note: The associated `factory_type` will thereafter be responsible for the creation of new AtkObject implementations for instances appropriate for `type`.

`registry` : | the AtkRegistry in which to register the type association
`type` : | an AtkObject type
`factory_type` : | an AtkObjectFactory type to associate with `type`. Must implement AtkObject appropriate for `type`.

### atk_registry_get_factory_type ()

    GType               atk_registry_get_factory_type       (AtkRegistry *registry,
                                                             GType type);

Provides a GType indicating the AtkObjectFactory subclass associated with `type`.

`registry` : | an AtkRegistry
`type` : | a GType with which to look up the associated AtkObjectFactory subclass
Returns : | a GType associated with type `type`

### atk_registry_get_factory ()

    AtkObjectFactory*   atk_registry_get_factory            (AtkRegistry *registry,
                                                             GType type);

Gets an AtkObjectFactory appropriate for creating AtkObjects appropriate for `type`.

`registry` : | an AtkRegistry
`type` : | a GType with which to look up the associated AtkObjectFactory
Returns : | an AtkObjectFactory appropriate for creating AtkObjects appropriate for `type`.

### atk_get_default_registry ()

    AtkRegistry*        atk_get_default_registry            (void);

Gets a default implementation of the AtkObjectFactory/type registry. Note: For most toolkit maintainers, this will be the correct registry for registering new AtkObject factories. Following a call to this function, maintainers may call `atk_registry_set_factory_type()` to associate an AtkObjectFactory subclass with the GType of objects for whom accessibility information will be provided.

Returns : | a default implementation of the AtkObjectFactory/type registry