Show / Hide Table of Contents

# Class UnixMainLoop

Unix main loop, suitable for using on Posix systems

##### Inheritance

System.Object
UnixMainLoop

###### Namespace: Mono.Terminal

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

##### Syntax

    public class UnixMainLoop : Mono.Terminal.IMainLoopDriver

##### Remarks

In addition to the general functions of the mainloop, the Unix version can watch file descriptors using the AddWatch methods.

### Constructors

#### UnixMainLoop()

##### Declaration

    public UnixMainLoop ();

### Methods

#### AddWatch(Int32, UnixMainLoop+Condition, Func<MainLoop,Boolean>)

Watches a file descriptor for activity.

##### Declaration

    public object AddWatch (int fileDescriptor, Mono.Terminal.UnixMainLoop.Condition condition, Func<Mono.Terminal.MainLoop,bool> callback);

##### Parameters

Type | Name | Description
--- | --- | ---
System.Int32 | fileDescriptor | To be added.
| condition | To be added.
System.Func<MainLoop,System.Boolean> | callback | To be added.

##### Returns

Type | Description
--- | ---
System.Object | To be added.

##### 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.

#### RemoveWatch(Object)

Removes an active watch from the mainloop.

##### Declaration

    public void RemoveWatch (object token);

##### Parameters

Type | Name | Description
--- | --- | ---
System.Object | token | To be added.

##### Remarks

The token parameter is the value returned from AddWatch

### Explicit Interface Implementations

#### IMainLoopDriver.EventsPending(Boolean)

##### Declaration

    bool IMainLoopDriver.EventsPending (bool wait);

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | wait | To be added.

##### Returns

Type | Description
--- | ---
System.Boolean | To be added.

#### IMainLoopDriver.MainIteration()

##### Declaration

    void IMainLoopDriver.MainIteration ();

#### IMainLoopDriver.Setup(MainLoop)

##### Declaration

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

##### Parameters

Type | Name | Description
--- | --- | ---
MainLoop | mainLoop | To be added.

#### IMainLoopDriver.Wakeup()

##### Declaration

    void IMainLoopDriver.Wakeup ();