<Type Name="Timeout" FullName="Gtk.Timeout">
  <TypeSignature Language="C#" Value="public class Timeout" Maintainer="John Luke" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Registers a method to be called periodically.</summary>
    <remarks>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.Obsolete("Replaced by GLib.Timeout")</AttributeName>
    </Attribute>
  </Attributes>
  <Members>
    <Member MemberName="Add">
      <MemberSignature Language="C#" Value="public static uint Add (uint interval, Gtk.Function function);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="interval" Type="System.UInt32" />
        <Parameter Name="function" Type="Gtk.Function" />
      </Parameters>
      <Docs>
        <summary>Registers a <paramref name="function" /> to be called periodically.</summary>
        <param name="interval">number of miliseconds between function calls</param>
        <param name="function">delegate that will be called until it return false</param>
        <returns>a <see cref="T:System.UInt32" /></returns>
        <remarks>The <paramref name="function" /> will be called repeatedly after <paramref name="interval" /> milliseconds until it returns <see langword="false" /> at which point the <see cref="T:Gtk.Timeout" /> is destroyed and will not be called again.
<block subset="none" type="note"><para>
	The first execution of the callback <paramref name="function" /> will only occur after the <paramref name="interval" /> has elapsed. In other words, it won't be executed right away after calling <see cref="T:Gtk.Timeout.Add" />.
  </para></block></remarks>
      </Docs>
    </Member>
    <Member MemberName="AddFull">
      <MemberSignature Language="C#" Value="public static uint AddFull (uint interval, Gtk.Function function, Gtk.CallbackMarshal marshal, IntPtr data, Gtk.DestroyNotify destroy);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="interval" Type="System.UInt32" />
        <Parameter Name="function" Type="Gtk.Function" />
        <Parameter Name="marshal" Type="Gtk.CallbackMarshal" />
        <Parameter Name="data" Type="System.IntPtr" />
        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
      </Parameters>
      <Docs>
        <summary>Registers a <paramref name="function" /> to be called periodically.</summary>
        <param name="interval">a <see cref="T:System.UInt32" /></param>
        <param name="function">a <see cref="T:Gtk.Function" /></param>
        <param name="marshal">a <see cref="T:Gtk.CallbackMarshal" /></param>
        <param name="data">a <see cref="T:System.IntPtr" /></param>
        <param name="destroy">a <see cref="T:Gtk.DestroyNotify" /></param>
        <returns>a <see cref="T:System.UInt32" /></returns>
        <remarks>The <paramref name="function" /> will be called repeatedly after <paramref name="interval" /> milliseconds until it returns <see langword="false" /> at which point the <see cref="T:Gtk.Timeout" /> is destroyed and will not be called again.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Remove">
      <MemberSignature Language="C#" Value="public static void Remove (uint timeout_handler_id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="timeout_handler_id" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Removes the given timeout destroying all information about it.</summary>
        <param name="timeout_handler_id">a <see cref="T:System.UInt32" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Timeout ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Internal Constructor</summary>
        <remarks>This should not be called directly by typical applications.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
