+ (OBRunLoop *) currentRunLoop

Runloop of the current context (thread), if any (will be nil if called before OBApplication's run)

+ (OBRunLoop *) mainRunLoop

Runloop of the main thread (non-nil after the OBApplication object is initialized)

- (void) abort

Exit from the run loop as soon as possible

- (void) aborted

Called when run exits

- (void) addSignalHandler:(OBSignalHandler *)handler

Registers a new signal handler

- (void) addTimer:(OBScheduledTimer *)timer

Adds a scheduled timer into the run loop This is part of the internal implementation, usually you would add a timer with its startOnRunLoop: method

- (void) cancelWithPerform:(OBPerform *)perform
- (void) cancelWithSelector:(SEL)selector
- (void) cancelWithSelector:(SEL)selector target:(id)target
- (void) cancelWithTarget:(id)target
- (BOOL) isAborted
- (BOOL) isRunning
- (void) perform:(OBPerform *)action

Thread-safe calls - you may call perform(Selector) from a different thread to have it dispatched on another thread

- (void) performSelector:(SEL)selector target:(id)target
- (void) performSelector:(SEL)selector target:(id)target withObject:object0
- (void) performSelector:(SEL)selector target:(id)target withObject:object0 withObject:object1
- (void) performSelector:(SEL)selector target:(id)target withObject:object0 withObject:object1 withObject:object2
- (void) performSelector:(SEL)selector target:(id)target withObject:object0 withObject:object1 withObject:object2 withObject:object3
- (void) performSelector:(SEL)selector target:(id)target withObject:object0 withObject:object1 withObject:object2 withObject:object3 withObject:object4
- (void) removeSignalHandler:(OBSignalHandler *)handler

Removes a signal handler. Will be processed on next run if called from within a signal's perform action

- (void) removeTimer:(OBScheduledTimer *)timer
- (BOOL) run

Starts the run loop. It will quit whenever abort is called Returns NO if it returned immediately

- (LONG) signalForTimer:(OBScheduledTimer *)timer

Returns a (shared) signal to use by the given timer

- (ULONG) signalMask

Current signal mask for the Wait() call

- (void) signalMaskReceived:(ULONG)sigMask

Called each time Wait() does return

- (void) started

Called when run starts

- (void) terminate

Exit from the run loop as soon as possible AND invalidate signal handlers timers and other associated resources so that re-starting the run loop may no longer be possible.