Interface Technology Basics: IUpdateHandler 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
IUpdateHandler Class Referenceabstract

Host implements dependency handling for plugins. More...

`#include <iupdatehandler.h>`

Inheritance diagram for IUpdateHandler:

## Public Member Functions
virtual tresult | addDependent (FUnknown *object, IDependent *dependent)=0
| Install update notification for given object.
virtual tresult | removeDependent (FUnknown *object, IDependent *dependent)=0
| Remove a previously installed dependency.
virtual tresult | triggerUpdates (FUnknown *object, int32 message)=0
| Inform all dependents, that object has changed.
virtual tresult | deferUpdates (FUnknown *object, int32 message)=0
| Same as triggerUpdates, but delivered in idle (usefull to collect updates).
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

Host implements dependency handling for plugins.

- [host imp]
- [get this interface from IHostClasses]
- [released N3.1]
- Install/Remove change notifications
- Trigger updates when an object has changed

Can be used between host-objects and the Plug-In or inside the Plug-In to handle internal updates!

See also
  IDependent

## Member Function Documentation

## ◆ addDependent()

virtual tresult addDependent | ( | FUnknown * | object,
|  | IDependent * | dependent )
| pure virtual

Install update notification for given object.

It is essential to remove all dependencies again using 'removeDependent'! Dependencies are not removed automatically when the 'object' is released!

Parameters

  object | : interface to object that sends change notifications
  dependent | : interface through which the update is passed

## ◆ removeDependent()

virtual tresult removeDependent | ( | FUnknown * | object,
|  | IDependent * | dependent )
| pure virtual

Remove a previously installed dependency.

## ◆ triggerUpdates()

virtual tresult triggerUpdates | ( | FUnknown * | object,
|  | int32 | message )
| pure virtual

Inform all dependents, that object has changed.

Parameters

  object | is the object that has changed
  message | is a value of enum IDependent::ChangeMessage, usually IDependent::kChanged - can be a private message as well (only known to sender and dependent)

## ◆ deferUpdates()

virtual tresult deferUpdates | ( | FUnknown * | object,
|  | int32 | message )
| pure virtual

Same as triggerUpdates, but delivered in idle (usefull to collect updates).

## Member Data Documentation

## ◆ iid

const::Steinberg::FUID iid
| static

Empty

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