Interface Technology Basics: IRunLoop Class Reference
Author: Steinberg

Interface Technology Basics VST 3.7 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
IRunLoop Class Referenceabstract
Graphical User Interface

Linux host run loop interface. More...

`#include <iplugview.h>`

Inheritance diagram for IRunLoop:

## Public Member Functions
virtual tresult | registerEventHandler (IEventHandler *handler, FileDescriptor fd)=0
virtual tresult | unregisterEventHandler (IEventHandler *handler)=0
virtual tresult | registerTimer (ITimerHandler *handler, TimerInterval milliseconds)=0
virtual tresult | unregisterTimer (ITimerHandler *handler)=0
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
| Query for a pointer to the specified interface.
virtual uint32 | addRef ()=0
| Adds a reference and returns the new reference count.
virtual uint32 | release ()=0
| Releases a reference and returns the new reference count.

## Static Public Attributes
static const FUID | iid
Static Public Attributes inherited from FUnknown
static const FUID | iid

## Detailed Description

Linux host run loop interface.

- [host imp]
- [extends IPlugFrame]
- [released: 3.6.8]

On Linux the host has to provide this interface to the plug-in as there's no global event run loop defined as on other platforms.

This can be done by IPlugFrame and the context which is passed to the plug-in as an argument in the method IPlugFactory3::setHostContext. This way the plug-in can get a runloop even if it does not have an editor.

A plug-in can register an event handler for a file descriptor. The host has to call the event handler when the file descriptor is marked readable.

A plug-in also can register a timer which will be called repeatedly until it is unregistered.

## Member Function Documentation

## ◆ registerEventHandler()

virtual tresult registerEventHandler | ( | IEventHandler * | handler,
|  | FileDescriptor | fd )
| pure virtual

## ◆ unregisterEventHandler()

virtual tresult unregisterEventHandler | ( | IEventHandler * | handler | ) |
| pure virtual

## ◆ registerTimer()

virtual tresult registerTimer | ( | ITimerHandler * | handler,
|  | TimerInterval | milliseconds )
| pure virtual

## ◆ unregisterTimer()

virtual tresult unregisterTimer | ( | ITimerHandler * | handler | ) |
| pure virtual

## Member Data Documentation

## ◆ iid

const FUID iid
| static

Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.