SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Namespaces | Classes | Typedefs
smtk::plugin Namespace Reference

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::ManagerManager
 The Manager is a singleton interface for registering available plugins to manager instances. More...
 

Detailed Description

A subsystem for extending the functionality of SMTK at run time.

Typedef Documentation

◆ Manager

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.