SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
|
A subsystem for extending the functionality of SMTK at run time. More...
Namespaces | |
detail | |
Resources and operations both have optional managers that can be used as an interface for their construction, to track their existence and to attach observers to their actions. | |
Classes | |
class | Client |
plugin::Clients are static objects that live in a plugin. More... | |
class | ClientBase |
A base class for Plugin Clients. More... | |
class | Registry |
Given a Registrar (a class that describes how to register and unregister a plugin) and one or more Managers, the Registry is a class composed of MaybeRegister-s for the Registrar and each Manager (and also a base class RegistryBase for good measure). More... | |
class | RegistryBase |
Since the Registry class is a template class, we introduce a non-templated base class RegistryBase so that Registries can be manipulated in aggregate. More... | |
Typedefs | |
typedef smtk::common::Singleton< detail::Manager > | Manager |
The Manager is a singleton interface for registering available plugins to manager instances. More... | |
A subsystem for extending the functionality of SMTK at run time.
The Manager is a singleton interface for registering available plugins to manager instances.
When a plugin is loaded, it creates a Client that adds itself to Manager's set of Client weak_ptrs. When a manager instance is passed into the Manager's "registerPluginsTo" method, each Client in the set that accepts a manager of this type constructs a Registry that tethers the scope of the manager's ability to use features from the plugin to the lifetime of the Registry object. Additionally, when a manager is passed into this class a register function is created that facilitates the registration of future plugins to the manager.