<Type Name="UnixMainLoop" FullName="Mono.Terminal.UnixMainLoop">
  <TypeSignature Language="C#" Value="public class UnixMainLoop : Mono.Terminal.IMainLoopDriver" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit UnixMainLoop extends System.Object implements class Mono.Terminal.IMainLoopDriver" />
  <AssemblyInfo>
    <AssemblyName>Terminal.Gui</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Mono.Terminal.IMainLoopDriver</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>
            Unix main loop, suitable for using on Posix systems
            </summary>
    <remarks>
            In addition to the general functions of the mainloop, the Unix version
            can watch file descriptors using the AddWatch methods.
            </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public UnixMainLoop ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddWatch">
      <MemberSignature Language="C#" Value="public object AddWatch (int fileDescriptor, Mono.Terminal.UnixMainLoop.Condition condition, Func&lt;Mono.Terminal.MainLoop,bool&gt; callback);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance object AddWatch(int32 fileDescriptor, valuetype Mono.Terminal.UnixMainLoop/Condition condition, class System.Func`2&lt;class Mono.Terminal.MainLoop, bool&gt; callback) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="fileDescriptor" Type="System.Int32" />
        <Parameter Name="condition" Type="Mono.Terminal.UnixMainLoop+Condition" />
        <Parameter Name="callback" Type="System.Func&lt;Mono.Terminal.MainLoop,System.Boolean&gt;" />
      </Parameters>
      <Docs>
        <param name="fileDescriptor">To be added.</param>
        <param name="condition">To be added.</param>
        <param name="callback">To be added.</param>
        <summary>
              Watches a file descriptor for activity.
             </summary>
        <returns>To be added.</returns>
        <remarks>
              When the condition is met, the provided callback
              is invoked.  If the callback returns false, the
              watch is automatically removed.
            
              The return value is a token that represents this watch, you can
              use this token to remove the watch by calling RemoveWatch.
             </remarks>
      </Docs>
    </Member>
    <Member MemberName="Mono.Terminal.IMainLoopDriver.EventsPending">
      <MemberSignature Language="C#" Value="bool IMainLoopDriver.EventsPending (bool wait);" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool Mono.Terminal.IMainLoopDriver.EventsPending(bool wait) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="wait" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="wait">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Mono.Terminal.IMainLoopDriver.MainIteration">
      <MemberSignature Language="C#" Value="void IMainLoopDriver.MainIteration ();" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Mono.Terminal.IMainLoopDriver.MainIteration() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Mono.Terminal.IMainLoopDriver.Setup">
      <MemberSignature Language="C#" Value="void IMainLoopDriver.Setup (Mono.Terminal.MainLoop mainLoop);" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Mono.Terminal.IMainLoopDriver.Setup(class Mono.Terminal.MainLoop mainLoop) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="mainLoop" Type="Mono.Terminal.MainLoop" />
      </Parameters>
      <Docs>
        <param name="mainLoop">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Mono.Terminal.IMainLoopDriver.Wakeup">
      <MemberSignature Language="C#" Value="void IMainLoopDriver.Wakeup ();" />
      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void Mono.Terminal.IMainLoopDriver.Wakeup() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveWatch">
      <MemberSignature Language="C#" Value="public void RemoveWatch (object token);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveWatch(object token) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="token" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="token">To be added.</param>
        <summary>
              Removes an active watch from the mainloop.
            </summary>
        <remarks>
              The token parameter is the value returned from AddWatch
            </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
