|
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 |
UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects. More...
#include "updatehandler.h"
Public Member Functions | |
| tresult PLUGIN_API | addDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE |
| register | |
| tresult PLUGIN_API | removeDependent (FUnknown *object, IDependent *dependent, size_t &earseCount) |
| unregister | |
| tresult PLUGIN_API | removeDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE |
| Remove a previously installed dependency. | |
| tresult PLUGIN_API | triggerUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE |
| send | |
| tresult PLUGIN_API | deferUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE |
| send | |
| tresult PLUGIN_API | cancelUpdates (FUnknown *object) SMTG_OVERRIDE |
| cancel pending messages send by | |
| tresult PLUGIN_API | triggerDeferedUpdates (FUnknown *object=nullptr) SMTG_OVERRIDE |
| send pending messages send by | |
| size_t | countDependencies (FUnknown *object=nullptr) |
| virtual void | addDependent (IDependent *dep) |
| adds dependency to the object | |
| virtual void | removeDependent (IDependent *dep) |
| removes dependency from the object | |
| virtual void | deferUpdate (int32 msg=kChanged) |
| Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates). | |
Public Member Functions inherited from Steinberg::FObject | |
| FObject ()=default | |
| default constructor... | |
| FObject (const FObject &) | |
| FObject & | operator= (const FObject &) |
| overloads operator "=" as the reference assignment | |
| virtual | ~FObject () |
| destructor... | |
| virtual FClassID | isA () const |
| a local alternative to getFClassID () | |
| virtual bool | isA (FClassID s) const |
| evaluates if the passed ID is of the FObject type | |
| virtual bool | isTypeOf (FClassID s, bool=true) const |
| evaluates if the passed ID is of the FObject type | |
| int32 | getRefCount () |
| returns the current interface reference count | |
| FUnknown * | unknownCast () |
| get FUnknown interface from object | |
| tresult PLUGIN_API | queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE |
| please refer to FUnknown::queryInterface () | |
| uint32 PLUGIN_API | addRef () SMTG_OVERRIDE |
| please refer to FUnknown::addref () | |
| uint32 PLUGIN_API | release () SMTG_OVERRIDE |
| please refer to FUnknown::release () | |
| void PLUGIN_API | update (FUnknown *, int32) SMTG_OVERRIDE |
| empty virtual method that should be overridden by derived classes for data updates upon changes | |
| virtual void | changed (int32 msg=kChanged) |
| Inform all dependents, that the object has changed. | |
| virtual void | updateDone (int32) |
| empty virtual method that should be overridden by derived classes | |
| virtual bool | isEqualInstance (FUnknown *d) |
Friends | |
| class | FObject |
Additional Inherited Members | |
Public Types inherited from Steinberg::IDependent | |
| enum | ChangeMessage { kWillChange , kChanged , kDestroyed , kWillDestroy , kStdChangeMessageLast } |
Static Public Member Functions inherited from Steinberg::FObject | |
| static FClassID | getFClassID () |
| return Class ID as an ASCII string (statically) | |
| static void | setUpdateHandler (IUpdateHandler *handler) |
| set method for the local attribute | |
| static IUpdateHandler * | getUpdateHandler () |
| get method for the local attribute | |
| static bool | classIDsEqual (FClassID ci1, FClassID ci2) |
| compares (evaluates) 2 class IDs | |
| static FObject * | unknownToObject (FUnknown *unknown) |
| pointer conversion from FUnknown to FObject | |
Static Public Attributes inherited from Steinberg::FObject | |
| static const FUID | iid |
| Special UID that is used to cast an FUnknown pointer to a FObject. | |
Static Public Attributes inherited from Steinberg::IDependent | |
| static const FUID | iid |
Static Public Attributes inherited from Steinberg::FUnknown | |
| static const FUID | iid |
Static Public Attributes inherited from Steinberg::IUpdateHandler | |
| static const FUID | iid |
Static Public Attributes inherited from Steinberg::IUpdateManager | |
| static const FUID | iid |
Protected Attributes inherited from Steinberg::FObject | |
| int32 | refCount |
| COM-model local reference count. | |
Static Protected Attributes inherited from Steinberg::FObject | |
| static IUpdateHandler * | gUpdateHandler |
UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects.
This implementation is thread save, so objects can send message, add or remove dependents from different threads. Do do so it uses mutex, so be aware of locking.
Definition at line 76 of file updatehandler.h.
| Steinberg::UpdateHandler::UpdateHandler | ( | ) |
Definition at line 192 of file updatehandler.cpp.
| Steinberg::UpdateHandler::~UpdateHandler | ( | ) |
Definition at line 200 of file updatehandler.cpp.
|
virtual |
register
| dependent | to get messages from |
| object |
Implements Steinberg::IUpdateHandler.
Definition at line 209 of file updatehandler.cpp.
|
virtual |
adds dependency to the object
Reimplemented from Steinberg::FObject.
Definition at line 115 of file fobject.cpp.
|
virtual |
cancel pending messages send by
| object | or by any if object is 0 |
Implements Steinberg::IUpdateManager.
Definition at line 607 of file updatehandler.cpp.
Definition at line 629 of file updatehandler.cpp.
|
virtual |
Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
Reimplemented from Steinberg::FObject.
Definition at line 118 of file fobject.cpp.
|
virtual |
send
| message | to all dependents of |
| object | when idle |
Implements Steinberg::IUpdateHandler.
Definition at line 463 of file updatehandler.cpp.
|
virtual |
Remove a previously installed dependency.
Implements Steinberg::IUpdateHandler.
Definition at line 246 of file updatehandler.cpp.
| tresult PLUGIN_API Steinberg::UpdateHandler::removeDependent | ( | FUnknown * | object, |
| IDependent * | dependent, | ||
| size_t & | earseCount | ||
| ) |
unregister
| dependent | to get no messages from |
| object |
Definition at line 253 of file updatehandler.cpp.
|
virtual |
removes dependency from the object
Reimplemented from Steinberg::FObject.
Definition at line 116 of file fobject.cpp.
|
virtual |
send pending messages send by
| object | or by any if object is 0 |
Implements Steinberg::IUpdateManager.
Definition at line 503 of file updatehandler.cpp.
|
virtual |
send
| message | to all dependents of |
| object | immediately |
Implements Steinberg::IUpdateHandler.
Definition at line 457 of file updatehandler.cpp.
|
friend |
Definition at line 89 of file updatehandler.h.