Show / Hide Table of Contents

# Interface IMainLoopDriver

Public interface to create your own platform specific main loop driver.

UnixMainLoop

###### Namespace: Mono.Terminal

###### Assembly: Terminal.Gui.dll

##### Syntax

    public interface IMainLoopDriver

### Methods

#### EventsPending(Boolean)

Must report whether there are any events pending, or even block waiting for events.

##### Declaration

    public bool EventsPending (bool wait);

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | wait | If set to `true` wait until an event is available, otherwise return immediately.

##### Returns

Type | Description
--- | ---
System.Boolean | `true`, if there were pending events, `false` otherwise.

#### MainIteration()

##### Declaration

    public void MainIteration ();

#### Setup(MainLoop)

Initializes the main loop driver, gets the calling main loop for the initialization.

##### Declaration

    public void Setup (Mono.Terminal.MainLoop mainLoop);

##### Parameters

Type | Name | Description
--- | --- | ---
MainLoop | mainLoop | Main loop.

#### Wakeup()

Wakes up the mainloop that might be waiting on input, must be thread safe.

##### Declaration

    public void Wakeup ();