<Type Name="Quit" FullName="Gtk.Quit">
  <TypeSignature Language="C#" Value="public class Quit" 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>Object to encapsulate code for running at the end of program execution.</summary>
    <remarks>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Members>
    <Member MemberName="Remove">
      <MemberSignature Language="C#" Value="public static void Remove (uint quit_handler_id);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="quit_handler_id" Type="System.UInt32" />
      </Parameters>
      <Docs>
        <summary>Removes a quit handler by its identifier.</summary>
        <param name="quit_handler_id">a <see cref="T:System.UInt32" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Add">
      <MemberSignature Language="C#" Value="public static uint Add (uint main_level, Gtk.Function function);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="main_level" Type="System.UInt32" />
        <Parameter Name="function" Type="Gtk.Function" />
      </Parameters>
      <Docs>
        <summary>Registers a function to be called when an instance of the mainloop is left.</summary>
        <param name="main_level">a <see cref="T:System.UInt32" /></param>
        <param name="function">a <see cref="T:Gtk.Function" /></param>
        <returns>a <see cref="T:System.UInt32" /></returns>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="AddFull">
      <MemberSignature Language="C#" Value="public static uint AddFull (uint main_level, Gtk.Function function, Gtk.CallbackMarshal marshal, IntPtr data, Gtk.DestroyNotify destroy);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="main_level" 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 function to be called when an instance of the mainloop is left.</summary>
        <param name="main_level">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>
          <para>In comparison to <see cref="M:Gtk.Quit.Add()" /> this function adds the possibility to pass a marshaller and a function to be called when the quit handler is freed.</para>
          <para>The former can be used to run interpreted code instead of a compiled function while the latter can be used to free the information stored in data.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveByData">
      <MemberSignature Language="C#" Value="public static void RemoveByData (IntPtr data);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="data" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Removes a quit handler identified by its <paramref name="data" /> field.</summary>
        <param name="data">a <see cref="T:System.IntPtr" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="AddDestroy">
      <MemberSignature Language="C#" Value="public static void AddDestroy (uint main_level, Gtk.Object objekt);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="main_level" Type="System.UInt32" />
        <Parameter Name="objekt" Type="Gtk.Object" />
      </Parameters>
      <Docs>
        <summary>Trigger destruction of <paramref name="objekt" /> in case the mainloop at level <paramref name="main_level" /> is quit.</summary>
        <param name="main_level">a <see cref="T:System.UInt32" /></param>
        <param name="objekt">a <see cref="T:Gtk.Object" /></param>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Quit ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Default Constructor</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
