|
Base Module VST 3.7
SDK for developing VST plug-in
|
UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects. More...
#include <updatehandler.h>
Inheritance diagram for UpdateHandler:Public Member Functions | |
| UpdateHandler () | |
| ~UpdateHandler () SMTG_OVERRIDE | |
| tresult | addDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE |
| register | |
| tresult | removeDependent (FUnknown *object, IDependent *dependent, size_t &earseCount) |
| unregister | |
| tresult | removeDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE |
| tresult | triggerUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE |
| send | |
| tresult | deferUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE |
| send | |
| tresult | cancelUpdates (FUnknown *object) SMTG_OVERRIDE |
| cancel pending messages send by | |
| tresult | triggerDeferedUpdates (FUnknown *object=nullptr) SMTG_OVERRIDE |
| send pending messages send by | |
| size_t | countDependencies (FUnknown *object=nullptr) |
| OBJ_METHODS (UpdateHandler, FObject) FUNKNOWN_METHODS2(IUpdateHandler | |
| 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 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 | queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE |
| please refer to FUnknown::queryInterface () | |
| uint32 | addRef () SMTG_OVERRIDE |
| please refer to FUnknown::addref () | |
| uint32 | release () SMTG_OVERRIDE |
| please refer to FUnknown::release () | |
| void | 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) |
| template<class C> | |
| IPtr< C > | fromUnknown (FUnknown *unknown) |
Public Attributes | |
| IUpdateManager | |
| FObject SINGLETON(UpdateHandler) private Steinberg::Base::Thread::FLock | lock |
| Update::Table * | table = nullptr |
Additional Inherited Members | |
Static Public Member Functions inherited from 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 | |
| template<class Class> | |
| static IPtr< Class > | fromUnknown (FUnknown *unknown) |
| convert from FUnknown to FObject | |
Static Public Attributes inherited from FObject | |
| static const FUID | iid |
| Special UID that is used to cast an FUnknown pointer to a FObject. | |
Static Public Attributes inherited from IUpdateManager | |
| static const FUID | iid |
Protected Attributes inherited from FObject | |
| int32 | refCount = 1 |
| COM-model local reference count. | |
Static Protected Attributes inherited from FObject | |
| static IUpdateHandler * | gUpdateHandler = nullptr |
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.
| UpdateHandler | ( | ) |
| ~UpdateHandler | ( | ) |
| tresult addDependent | ( | FUnknown * | object, |
| IDependent * | dependent ) |
register
| dependent | to get messages from |
| object |
| tresult removeDependent | ( | FUnknown * | object, |
| IDependent * | dependent, | ||
| size_t & | earseCount ) |
unregister
| dependent | to get no messages from |
| object |
| tresult removeDependent | ( | FUnknown * | object, |
| IDependent * | dependent ) |
| tresult triggerUpdates | ( | FUnknown * | object, |
| int32 | message ) |
send
| message | to all dependents of |
| object | immediately |
| tresult deferUpdates | ( | FUnknown * | object, |
| int32 | message ) |
send
| message | to all dependents of |
| object | when idle |
|
virtual |
cancel pending messages send by
| object | or by any if object is 0 |
Implements IUpdateManager.
|
virtual |
| size_t countDependencies | ( | FUnknown * | object = nullptr | ) |
| OBJ_METHODS | ( | UpdateHandler | , |
| FObject | ) |
|
virtual |
adds dependency to the object
Reimplemented from FObject.
|
virtual |
removes dependency from the object
Reimplemented from FObject.
|
virtual |
Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
Reimplemented from FObject.
| FObject SINGLETON (UpdateHandler) private Steinberg::Base::Thread::FLock lock |
| Update::Table* table = nullptr |