102 using FObject::addDependent;
103 using FObject::removeDependent;
104 using FObject::deferUpdate;
108 tresult PLUGIN_API addDependent (FUnknown*
object, IDependent* dependent) SMTG_OVERRIDE;
110 tresult PLUGIN_API removeDependent (FUnknown*
object,
111 IDependent* dependent) SMTG_OVERRIDE;
113 tresult PLUGIN_API triggerUpdates (FUnknown*
object, int32 message) SMTG_OVERRIDE;
115 tresult PLUGIN_API deferUpdates (FUnknown*
object, int32 message) SMTG_OVERRIDE;
119 tresult PLUGIN_API cancelUpdates (FUnknown*
object) SMTG_OVERRIDE;
121 tresult PLUGIN_API triggerDeferedUpdates (FUnknown*
object =
nullptr) SMTG_OVERRIDE;
125 void checkUpdates (
FObject*
object =
nullptr) { triggerDeferedUpdates (object->unknownCast ()); }
126 void flushUpdates (
FObject*
object) { cancelUpdates (object->unknownCast ()); }
127 void deferUpdate (
FObject*
object, int32 message)
129 deferUpdates (object->unknownCast (), message);
131 void signalChange (
FObject*
object, int32 message,
bool suppressUpdateDone =
false)
133 doTriggerUpdates (object->unknownCast (), message, suppressUpdateDone);
136 bool checkDeferred (FUnknown*
object);
137 bool hasDependencies (FUnknown*
object);
138 void printForObject (
FObject*
object)
const;
141 size_t countDependencies (FUnknown*
object =
nullptr);
148 tresult doTriggerUpdates (FUnknown*
object, int32 message,
bool suppressUpdateDone);
150 Steinberg::Base::Thread::FLock lock;
152 friend struct LockUpdateDependencies;
153 static bool lockUpdates;