### YamlMime:ManagedReference
items:
- uid: Mono.Terminal.IMainLoopDriver
  id: IMainLoopDriver
  children:
  - Mono.Terminal.IMainLoopDriver.EventsPending(System.Boolean)
  - Mono.Terminal.IMainLoopDriver.MainIteration
  - Mono.Terminal.IMainLoopDriver.Setup(Mono.Terminal.MainLoop)
  - Mono.Terminal.IMainLoopDriver.Wakeup
  langs:
  - csharp
  name: IMainLoopDriver
  nameWithType: IMainLoopDriver
  fullName: Mono.Terminal.IMainLoopDriver
  type: Interface
  assemblies:
  - Terminal.Gui
  namespace: Mono.Terminal
  summary: Public interface to create your own platform specific main loop driver.
  syntax:
    content: public interface IMainLoopDriver
  derivedClasses:
  - Mono.Terminal.UnixMainLoop
  implements: []
- uid: Mono.Terminal.IMainLoopDriver.EventsPending(System.Boolean)
  id: EventsPending(System.Boolean)
  parent: Mono.Terminal.IMainLoopDriver
  langs:
  - csharp
  name: EventsPending(Boolean)
  nameWithType: IMainLoopDriver.EventsPending(Boolean)
  fullName: IMainLoopDriver.EventsPending(Boolean)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Mono.Terminal
  summary: Must report whether there are any events pending, or even block waiting for events.
  syntax:
    content: public bool EventsPending (bool wait);
    parameters:
    - id: wait
      type: System.Boolean
      description: If set to <code>true</code> wait until an event is available, otherwise return immediately.
    return:
      type: System.Boolean
      description: <code>true</code>, if there were pending events, <code>false</code> otherwise.
  overload: Mono.Terminal.IMainLoopDriver.EventsPending*
  exceptions: []
- uid: Mono.Terminal.IMainLoopDriver.MainIteration
  id: MainIteration
  parent: Mono.Terminal.IMainLoopDriver
  langs:
  - csharp
  name: MainIteration()
  nameWithType: IMainLoopDriver.MainIteration()
  fullName: IMainLoopDriver.MainIteration()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Mono.Terminal
  syntax:
    content: public void MainIteration ();
    parameters: []
  overload: Mono.Terminal.IMainLoopDriver.MainIteration*
  exceptions: []
- uid: Mono.Terminal.IMainLoopDriver.Setup(Mono.Terminal.MainLoop)
  id: Setup(Mono.Terminal.MainLoop)
  parent: Mono.Terminal.IMainLoopDriver
  langs:
  - csharp
  name: Setup(MainLoop)
  nameWithType: IMainLoopDriver.Setup(MainLoop)
  fullName: IMainLoopDriver.Setup(MainLoop)
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Mono.Terminal
  summary: Initializes the main loop driver, gets the calling main loop for the initialization.
  syntax:
    content: public void Setup (Mono.Terminal.MainLoop mainLoop);
    parameters:
    - id: mainLoop
      type: Mono.Terminal.MainLoop
      description: Main loop.
  overload: Mono.Terminal.IMainLoopDriver.Setup*
  exceptions: []
- uid: Mono.Terminal.IMainLoopDriver.Wakeup
  id: Wakeup
  parent: Mono.Terminal.IMainLoopDriver
  langs:
  - csharp
  name: Wakeup()
  nameWithType: IMainLoopDriver.Wakeup()
  fullName: IMainLoopDriver.Wakeup()
  type: Method
  assemblies:
  - Terminal.Gui
  namespace: Mono.Terminal
  summary: Wakes up the mainloop that might be waiting on input, must be thread safe.
  syntax:
    content: public void Wakeup ();
    parameters: []
  overload: Mono.Terminal.IMainLoopDriver.Wakeup*
  exceptions: []
references:
- uid: Mono.Terminal.IMainLoopDriver.EventsPending(System.Boolean)
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: EventsPending(Boolean)
  nameWithType: IMainLoopDriver.EventsPending(Boolean)
  fullName: IMainLoopDriver.EventsPending(Boolean)
- uid: System.Boolean
  parent: System
  isExternal: true
  name: Boolean
  nameWithType: Boolean
  fullName: System.Boolean
- uid: Mono.Terminal.IMainLoopDriver.MainIteration
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: MainIteration()
  nameWithType: IMainLoopDriver.MainIteration()
  fullName: IMainLoopDriver.MainIteration()
- uid: Mono.Terminal.IMainLoopDriver.Setup(Mono.Terminal.MainLoop)
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: Setup(MainLoop)
  nameWithType: IMainLoopDriver.Setup(MainLoop)
  fullName: IMainLoopDriver.Setup(MainLoop)
- uid: Mono.Terminal.MainLoop
  parent: Mono.Terminal
  isExternal: false
  name: MainLoop
  nameWithType: MainLoop
  fullName: Mono.Terminal.MainLoop
- uid: Mono.Terminal.IMainLoopDriver.Wakeup
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: Wakeup()
  nameWithType: IMainLoopDriver.Wakeup()
  fullName: IMainLoopDriver.Wakeup()
- uid: Mono.Terminal.IMainLoopDriver.EventsPending*
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: EventsPending
  nameWithType: IMainLoopDriver.EventsPending
  fullName: IMainLoopDriver.EventsPending
- uid: Mono.Terminal.IMainLoopDriver.MainIteration*
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: MainIteration
  nameWithType: IMainLoopDriver.MainIteration
  fullName: IMainLoopDriver.MainIteration
- uid: Mono.Terminal.IMainLoopDriver.Setup*
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: Setup
  nameWithType: IMainLoopDriver.Setup
  fullName: IMainLoopDriver.Setup
- uid: Mono.Terminal.IMainLoopDriver.Wakeup*
  parent: Mono.Terminal.IMainLoopDriver
  isExternal: false
  name: Wakeup
  nameWithType: IMainLoopDriver.Wakeup
  fullName: IMainLoopDriver.Wakeup
