<Type Name="MainContext" FullName="GLib.MainContext">
  <TypeSignature Language="C#" Value="public class MainContext" Maintainer="auto" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MainContext extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>glib-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
  </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>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>Manages events in the main context.</summary>
    <remarks />
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public MainContext ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Create a new <see cref="T:GLib.MainContext" /> instance.</summary>
        <remarks>This is the default constructor for <see cref="T:GLib.MainContext" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public MainContext (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="Default">
      <MemberSignature Language="C#" Value="public static GLib.MainContext Default { get; }" />
      <MemberSignature Language="ILAsm" Value=".property class GLib.MainContext Default" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.MainContext</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Returns the default main context.</summary>
        <value>
        </value>
        <remarks>
        </remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="Depth">
      <MemberSignature Language="C#" Value="public static int Depth { get; }" />
      <MemberSignature Language="ILAsm" Value=".property int32 Depth" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Nesting level of the currently executing main loop.</summary>
        <value>A count of main loop levels.</value>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (object o);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object o) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="o" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="o">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="~MainContext ();" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="Handle">
      <MemberSignature Language="C#" Value="public IntPtr Handle { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
        <since version="Gtk# 3.0" />
      </Docs>
    </Member>
    <Member MemberName="HasPendingEvents">
      <MemberSignature Language="C#" Value="public bool HasPendingEvents { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool HasPendingEvents" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Checks if any sources have pending events for the given context.</summary>
        <value>An object of type <see cref="T:System.Boolean" /></value>
        <remarks>
        </remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="Iteration">
      <MemberSignature Language="C#" Value="public static bool Iteration ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool Iteration() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Runs a single iteration for the given main loop.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>This is a convenience overload for <see cref="M:GLib.MainContext.Iteration(System.Boolean)" /> with <see langword="false" /> passed in.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Iteration">
      <MemberSignature Language="C#" Value="public static bool Iteration (bool may_block);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool Iteration(bool may_block) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="may_block" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="may_block">an object of type <see cref="T:System.Boolean" /></param>
        <summary>Runs a single iteration for the given main loop.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>This is a convenience function for GLib.MainContext.Default.RunIteration(may_block).</remarks>
      </Docs>
    </Member>
    <Member MemberName="Pending">
      <MemberSignature Language="C#" Value="public static bool Pending ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool Pending() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Checks if any sources have pending events for the given context.</summary>
        <returns>an object of type <see cref="T:System.Boolean" /></returns>
        <remarks>This is a convenince function for GLib.MainContext.Default.HasPendingEvents.</remarks>
      </Docs>
    </Member>
    <Member MemberName="PopThreadDefault">
      <MemberSignature Language="C#" Value="public void PopThreadDefault ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void PopThreadDefault() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="PushThreadDefault">
      <MemberSignature Language="C#" Value="public void PushThreadDefault ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void PushThreadDefault() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="RunIteration">
      <MemberSignature Language="C#" Value="public bool RunIteration ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool RunIteration() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Runs a single iteration for the given main loop.</summary>
        <returns>
          <see langword="true" /> if successful.</returns>
        <remarks>This is a convenience overload for GLib.MainContext.Default.RunIteration(System.Boolean) with <see langword="false" /> passed in.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="RunIteration">
      <MemberSignature Language="C#" Value="public bool RunIteration (bool may_block);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool RunIteration(bool may_block) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="may_block" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="may_block">To be added.</param>
        <summary>Runs a single iteration for the given main loop.</summary>
        <returns>
          <see langword="true" /> if successful.</returns>
        <remarks>This involves checking to see if any event sources are ready to be processed, then if no events sources are ready and <paramref name="may_block" /> is <see langword="true" />, waiting for a source to become ready, then dispatching the highest priority events sources that are ready. Note that even when <paramref name="may_block" /> is <see langword="true" />, it is still possible for g_main_context_iteration() to return <see langword="false" />, since the the wait may be interrupted for other reasons than an event source becoming ready.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="ThreadDefault">
      <MemberSignature Language="C#" Value="public GLib.MainContext ThreadDefault { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class GLib.MainContext ThreadDefault" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.MainContext</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Returns the default MainContext for the current thread. If none exists, one will be created.</summary>
        <value>To be added.</value>
        <remarks>When being called from the Gtk# main loop, returns <see cref="P:GLib.MainContext.Default" />.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
    <Member MemberName="Wakeup">
      <MemberSignature Language="C#" Value="public void Wakeup ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Wakeup() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
        <since version="Gtk# 2.90" />
      </Docs>
    </Member>
  </Members>
</Type>
