|
OpenAssetIO
An abstract API for generalising interactions between a host application and an asset management system
|
UI Delegate Factories are responsible for instantiating classes that derive from UIDelegateInterface for use within a host. More...
#include <UIDelegateImplementationFactoryInterface.hpp>

Public Types | |
| using | Ptr = UIDelegateImplementationFactoryInterfacePtr |
| using | ConstPtr = UIDelegateImplementationFactoryInterfaceConstPtr |
Public Member Functions | |
| UIDelegateImplementationFactoryInterface (log::LoggerInterfacePtr logger) | |
| Construct an instance of this class. More... | |
| virtual | ~UIDelegateImplementationFactoryInterface () |
| Defaulted polymorphic destructor. More... | |
| virtual Identifiers | identifiers ()=0 |
| All identifiers known to the factory. More... | |
| virtual managerApi::UIDelegateInterfacePtr | instantiate (const Identifier &identifier)=0 |
| Creates an instance of the UIDelegateInterface with the specified identifier. More... | |
Protected Member Functions | |
| const log::LoggerInterfacePtr & | logger () const |
| Get logger instance. More... | |
UI Delegate Factories are responsible for instantiating classes that derive from UIDelegateInterface for use within a host.
UIDelegateImplementationFactoryInterface defines the abstract interface that any such factory must adopt.
Factories are expected to be lazy, so should be cheap to construct, and work to discover plugins should be done in identifiers / instantiate. Hence member functions are deliberately non-const.
There is no guarantee that any one member function will be called before another (for example, you cannot rely on identifiers being called before instantiate).
Implementations deriving from this class should use the provided logger to report any non-critical messages. For any critical failures exceptions should be thrown, and logging left up to the caller.
|
explicit |
Construct an instance of this class.
| logger | Logger object that should be used for all logging by the factory. Obtainable in subclasses through logger. |
|
virtual |
Defaulted polymorphic destructor.
|
pure virtual |
All identifiers known to the factory.
Implemented in CppPluginSystemUIDelegateImplementationFactory, and HybridPluginSystemUIDelegateImplementationFactory.
|
pure virtual |
Creates an instance of the UIDelegateInterface with the specified identifier.
| identifier | The identifier of the UIDelegateInterface to instantiate. |
UIDelegateInterface. Implemented in CppPluginSystemUIDelegateImplementationFactory, and HybridPluginSystemUIDelegateImplementationFactory.
|
protected |
Get logger instance.
Copyright 2013-2023 The Foundry Visionmongers Ltd. OpenAssetIO is released under the Apache 2.0 License