<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-atkobjectfactory">

  <refnamediv>
    <refname>atk.ObjectFactory</refname>
      <refpurpose>the base object class for a factory used to create
      accessible objects for objects of a specific GType.  </refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>atk.ObjectFactory</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobjectfactory--create-accessible">create_accessible</link></methodname>
        <methodparam><parameter role="keyword">obj</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobjectfactory--invalidate">invalidate</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-atkobjectfactory--get-accessible-type">get_accessible_type</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
</classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-atkobjectfactory">atk.ObjectFactory</link>
</synopsis>

  </refsect1>

  <refsect1 id="signal-prototypes-atkobjectfactory">
    <title>atk.ObjectFactory Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>This class is the base object class for a factory used to create
    an accessible object for a specific GType. The method <link
    linkend="method-atkregistry--set-factory-type"><methodname>atk.Registry.set_factory_type()</methodname></link>
    is normally called to store in the registry the factory type to be used
    to create an accessible of a particular GType.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-atkobjectfactory--create-accessible">
      <title>atk.ObjectFactory.create_accessible</title>

      <programlisting><methodsynopsis language="python">
        <methodname>create_accessible</methodname>
        <methodparam><parameter role="keyword">obj</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">obj</parameter>&nbsp;:</term>
          <listitem><simpara>a <link
          linkend="class-gobject"><classname>gobject.GObject</classname></link></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>an <link
          linkend="class-atkobject"><classname>atk.Object</classname></link>
          that implements an accessibility interface on behalf of
          <parameter>obj</parameter></simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Provides an <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      that implements an accessibility interface on behalf of
      <parameter>obj</parameter></para>

    </refsect2>

    <refsect2 id="method-atkobjectfactory--invalidate">
      <title>atk.ObjectFactory.invalidate</title>

      <programlisting><methodsynopsis language="python">
        <methodname>invalidate</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <para>Inform the factory that it is no longer being used to create
      accessibles. When called, the factory may need to inform the <link
      linkend="class-atkobject"><classname>atk.Object</classname></link>
      objects it has created that they need to be re-instantiated.  Note:
      primarily used for runtime replacement of <link
      linkend="class-atkobjectfactory"><classname>atk.ObjectFactory</classname></link>
      objects in object registries.</para>

    </refsect2>

    <refsect2 id="method-atkobjectfactory--get-accessible-type">
      <title>atk.ObjectFactory.get_accessible_type</title>

      <programlisting><methodsynopsis language="python">
        <methodname>get_accessible_type</methodname>
        <methodparam></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the type of the accessible which is created by
          the <parameter>factory</parameter>.</simpara></listitem>
        </varlistentry>
      </variablelist>

      <para>Gets the GType of the accessible which is created by the
      factory.  The value <literal>gobject.TYPE_INVALID</literal> is
      returned if no type if found.</para>

    </refsect2>

  </refsect1>

</refentry>
