# AtkObjectFactory

## Name

AtkObjectFactory -- The base object class for a factory used to create accessible objects for objects of a specific GType.

## Synopsis

    struct      AtkObjectFactory;
    AtkObject*  atk_object_factory_create_accessible
                                                (AtkObjectFactory *factory,
                                                 GObject *obj);
    GType       atk_object_factory_get_accessible_type
                                                (AtkObjectFactory *factory);
    void        atk_object_factory_invalidate   (AtkObjectFactory *factory);

## Object Hierarchy

      GObject
       +----AtkObjectFactory

## Description

This class is the base object class for a factory used to create an accessible object for a specific GType. The function atk_registry_set_factory_type() is normally called to store in the registry the factory type to be used to create an accessible of a particular GType.

## Details

### struct AtkObjectFactory

    struct AtkObjectFactory;

The AtkObjectFactory structure should not be accessed directly.

### atk_object_factory_create_accessible ()

    AtkObject*  atk_object_factory_create_accessible
                                                (AtkObjectFactory *factory,
                                                 GObject *obj);

Provides an AtkObject that implements an accessibility interface on behalf of `obj`

`factory` :

  The AtkObjectFactory associated with `obj`'s object type

`obj` :

  a GObject

Returns :

  an AtkObject that implements an accessibility interface on behalf of `obj`

### atk_object_factory_get_accessible_type ()

    GType       atk_object_factory_get_accessible_type
                                                (AtkObjectFactory *factory);

Gets the GType of the accessible which is created by the factory. The value G_TYPE_INVALID is returned if no type if found.

`factory` :

  an AtkObjectFactory

Returns :

  the type of the accessible which is created by the `factory`.

### atk_object_factory_invalidate ()

    void        atk_object_factory_invalidate   (AtkObjectFactory *factory);

Inform `factory` that it is no longer being used to create accessibles. When called, `factory` may need to inform AtkObjects which it has created that they need to be re-instantiated. Note: primarily used for runtime replacement of AtkObjectFactorys in object registries.

`factory` :

  an AtkObjectFactory to invalidate

## See Also

AtkRegistry