nongnu.org/gsequencer


gsequencer 7.0.5
Advanced Gtk+ Sequencer
Steinberg::UpdateHandler Class Reference

#include <updatehandler.h>

Inheritance diagram for Steinberg::UpdateHandler:
Collaboration diagram for Steinberg::UpdateHandler:

Public Member Functions

 UpdateHandler ()
 
 ~UpdateHandler ()
 
tresult PLUGIN_API addDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE
 
tresult PLUGIN_API removeDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE
 
tresult PLUGIN_API triggerUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE
 
tresult PLUGIN_API deferUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE
 
tresult PLUGIN_API cancelUpdates (FUnknown *object) SMTG_OVERRIDE
 
tresult PLUGIN_API triggerDeferedUpdates (FUnknown *object=nullptr) SMTG_OVERRIDE
 
size_t countDependencies (FUnknown *object=nullptr)
 

Friends

struct LockUpdateDependencies
 

Additional Inherited Members

- Static Public Attributes inherited from Steinberg::IUpdateManager
static const FUID iid
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ UpdateHandler()

Steinberg::UpdateHandler::UpdateHandler ( )

◆ ~UpdateHandler()

Steinberg::UpdateHandler::~UpdateHandler ( )

Member Function Documentation

◆ addDependent()

tresult PLUGIN_API Steinberg::UpdateHandler::addDependent ( FUnknown *  object,
IDependent *  dependent 
)

register

Parameters
dependentto get messages from
object

◆ cancelUpdates()

tresult PLUGIN_API Steinberg::UpdateHandler::cancelUpdates ( FUnknown *  object)
virtual

cancel pending messages send by

Parameters
objector by any if object is 0

Implements Steinberg::IUpdateManager.

◆ countDependencies()

size_t Steinberg::UpdateHandler::countDependencies ( FUnknown *  object = nullptr)

◆ deferUpdates()

tresult PLUGIN_API Steinberg::UpdateHandler::deferUpdates ( FUnknown *  object,
int32  message 
)

send

Parameters
messageto all dependents of
objectwhen idle

◆ removeDependent()

tresult PLUGIN_API Steinberg::UpdateHandler::removeDependent ( FUnknown *  object,
IDependent *  dependent 
)

unregister

Parameters
dependentto get no messages from
object

◆ triggerDeferedUpdates()

tresult PLUGIN_API Steinberg::UpdateHandler::triggerDeferedUpdates ( FUnknown *  object = nullptr)
virtual

send pending messages send by

Parameters
objector by any if object is 0

Implements Steinberg::IUpdateManager.

◆ triggerUpdates()

tresult PLUGIN_API Steinberg::UpdateHandler::triggerUpdates ( FUnknown *  object,
int32  message 
)

send

Parameters
messageto all dependents of
objectimmediately

Friends And Related Symbol Documentation

◆ LockUpdateDependencies

friend struct LockUpdateDependencies
friend

The documentation for this class was generated from the following files: