<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
  <!ENTITY % gtkdocentities SYSTEM "../xml/gtkdocentities.ent">
  %gtkdocentities;
]>
<refentry id="AtkMisc">
<refmeta>
<refentrytitle role="top_of_page" id="AtkMisc.top_of_page">AtkMisc</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ATK Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>AtkMisc</refname>
<refpurpose>A set of ATK utility functions for thread locking</refpurpose>
</refnamediv>

<refsect1 id="AtkMisc.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-misc-threads-enter">atk_misc_threads_enter</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-misc-threads-leave">atk_misc_threads_leave</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="AtkMisc"><returnvalue>AtkMisc</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="atk-misc-get-instance">atk_misc_get_instance</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkMisc.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="AtkMisc-struct">AtkMisc</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkMisc.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> AtkMisc
</screen>
</refsect1>


<refsect1 id="AtkMisc.description" role="desc">
<title role="desc.title">Description</title>
<para>A set of utility functions for thread locking. This interface and
all his related methods are deprecated since 2.12.</para>

</refsect1>
<refsect1 id="AtkMisc.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="atk-misc-threads-enter" role="function" condition="deprecated:Since 2.12.|since:1.13">
<title>atk_misc_threads_enter&#160;()</title>
<indexterm zone="atk-misc-threads-enter" role="deprecated"><primary>atk_misc_threads_enter</primary></indexterm><indexterm zone="atk-misc-threads-enter" role="1.13"><primary>atk_misc_threads_enter</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_misc_threads_enter (<parameter><link linkend="AtkMisc"><type>AtkMisc</type></link> *misc</parameter>);</programlisting>
<warning><para><literal>atk_misc_threads_enter</literal> is deprecated and should not be used in newly-written code.</para> <para>Since 2.12.</para>
</warning>
<para>Take the thread mutex for the GUI toolkit, 
if one exists. 
(This method is implemented by the toolkit ATK implementation layer;
 for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).</para>
<refsect3 id="atk-misc-threads-enter.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>misc</para></entry>
<entry role="parameter_description"><para>an AtkMisc instance for this application. </para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.13">1.13</link></para></refsect2>
<refsect2 id="atk-misc-threads-leave" role="function" condition="deprecated:Since 2.12.|since:1.13">
<title>atk_misc_threads_leave&#160;()</title>
<indexterm zone="atk-misc-threads-leave" role="deprecated"><primary>atk_misc_threads_leave</primary></indexterm><indexterm zone="atk-misc-threads-leave" role="1.13"><primary>atk_misc_threads_leave</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
atk_misc_threads_leave (<parameter><link linkend="AtkMisc"><type>AtkMisc</type></link> *misc</parameter>);</programlisting>
<warning><para><literal>atk_misc_threads_leave</literal> is deprecated and should not be used in newly-written code.</para> <para>Since 2.12.</para>
</warning>
<para>Release the thread mutex for the GUI toolkit, 
if one exists. This method, and atk_misc_threads_enter, 
are needed in some situations by threaded application code which 
services ATK requests, since fulfilling ATK requests often
requires calling into the GUI toolkit.  If a long-running or
potentially blocking call takes place inside such a block, it should
be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls.
(This method is implemented by the toolkit ATK implementation layer;
 for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).</para>
<refsect3 id="atk-misc-threads-leave.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>misc</para></entry>
<entry role="parameter_description"><para>an AtkMisc instance for this application. </para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.13">1.13</link></para></refsect2>
<refsect2 id="atk-misc-get-instance" role="function" condition="deprecated:Since 2.12.|since:1.13">
<title>atk_misc_get_instance&#160;()</title>
<indexterm zone="atk-misc-get-instance" role="deprecated"><primary>atk_misc_get_instance</primary></indexterm><indexterm zone="atk-misc-get-instance" role="1.13"><primary>atk_misc_get_instance</primary></indexterm>
<programlisting language="C">const <link linkend="AtkMisc"><returnvalue>AtkMisc</returnvalue></link>&#160;*
atk_misc_get_instance (<parameter><type>void</type></parameter>);</programlisting>
<warning><para><literal>atk_misc_get_instance</literal> is deprecated and should not be used in newly-written code.</para> <para>Since 2.12.</para>
</warning>
<para>Obtain the singleton instance of AtkMisc for this application.</para>
<refsect3 id="atk-misc-get-instance.returns" role="returns">
<title>Returns</title>
<para> The singleton instance of AtkMisc for this application.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.13">1.13</link></para></refsect2>

</refsect1>
<refsect1 id="AtkMisc.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="AtkMisc-struct" role="struct">
<title>struct AtkMisc</title>
<indexterm zone="AtkMisc-struct"><primary>AtkMisc</primary></indexterm>
<programlisting language="C">struct AtkMisc;</programlisting>
</refsect2>

</refsect1>

</refentry>
