JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
iupdatehandler.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------
2// Project : Steinberg Module Architecture SDK
3//
4// Category : Basic Host Service Interfaces
5// Filename : pluginterfaces/base/iupdatehandler.h
6// Created by : Steinberg, 01/2004
7// Description : Update handling
8//
9//-----------------------------------------------------------------------------
10// This file is part of a Steinberg SDK. It is subject to the license terms
11// in the LICENSE file found in the top-level directory of this distribution
12// and at www.steinberg.net/sdklicenses.
13// No part of the SDK, including this file, may be copied, modified, propagated,
14// or distributed except according to the terms contained in the LICENSE file.
15//-----------------------------------------------------------------------------
16
17#pragma once
18
20
21namespace Steinberg {
22
23class IDependent;
24
25//------------------------------------------------------------------------
41{
42public:
43//------------------------------------------------------------------------
49 virtual tresult PLUGIN_API addDependent (FUnknown* object, IDependent* dependent) = 0;
50
52 virtual tresult PLUGIN_API removeDependent (FUnknown* object, IDependent* dependent) = 0;
53
58 virtual tresult PLUGIN_API triggerUpdates (FUnknown* object, int32 message) = 0;
59
61 virtual tresult PLUGIN_API deferUpdates (FUnknown* object, int32 message) = 0;
62 static const FUID iid;
63};
64
65DECLARE_CLASS_IID (IUpdateHandler, 0xF5246D56, 0x86544d60, 0xB026AFB5, 0x7B697B37)
66
67//------------------------------------------------------------------------
75class IDependent: public FUnknown
76{
77public:
78//------------------------------------------------------------------------
80 virtual void PLUGIN_API update (FUnknown* changedUnknown, int32 message) = 0;
81
82 enum ChangeMessage
83 {
84 kWillChange,
85 kChanged,
86 kDestroyed,
87 kWillDestroy,
88
89 kStdChangeMessageLast = kWillDestroy
90 };
91 //------------------------------------------------------------------------
92 static const FUID iid;
93};
94
95DECLARE_CLASS_IID (IDependent, 0xF52B7AAE, 0xDE72416d, 0x8AF18ACE, 0x9DD7BD5E)
96
97//------------------------------------------------------------------------
98} // namespace Steinberg
Handling 16 Byte Globally Unique Identifiers.
Definition funknown.h:241
The basic interface of all interfaces.
Definition funknown.h:375
A dependent will get notified about changes of a model.
virtual void PLUGIN_API update(FUnknown *changedUnknown, int32 message)=0
Inform the dependent, that the passed FUnknown has changed.
Host implements dependency handling for plugins.
virtual tresult PLUGIN_API deferUpdates(FUnknown *object, int32 message)=0
Same as triggerUpdates, but delivered in idle (usefull to collect updates).
virtual tresult PLUGIN_API removeDependent(FUnknown *object, IDependent *dependent)=0
Remove a previously installed dependency.
virtual tresult PLUGIN_API triggerUpdates(FUnknown *object, int32 message)=0
Inform all dependents, that object has changed.
virtual tresult PLUGIN_API addDependent(FUnknown *object, IDependent *dependent)=0
Install update notification for given object.