OpenAssetIO
An abstract API for generalising interactions between a host application and an asset management system
CppPluginSystemManagerPlugin Class Referenceabstract

Base class to be subclassed by plugins binding a host to an Asset Management System. More...

#include <CppPluginSystemManagerPlugin.hpp>

Inheritance diagram for CppPluginSystemManagerPlugin:

Public Types

using Ptr = CppPluginSystemManagerPluginPtr
 
using ConstPtr = CppPluginSystemManagerPluginConstPtr
 
- Public Types inherited from CppPluginSystemPlugin
using Ptr = CppPluginSystemPluginPtr
 
using ConstPtr = CppPluginSystemPluginConstPtr
 

Public Member Functions

 ~CppPluginSystemManagerPlugin () override
 Defaulted destructor. More...
 
virtual managerApi::ManagerInterfacePtr interface ()=0
 Constructs an instance of the ManagerInterface. More...
 
- Public Member Functions inherited from CppPluginSystemPlugin
virtual ~CppPluginSystemPlugin ()
 Defaulted virtual destructor. More...
 
virtual openassetio::Identifier identifier () const =0
 Get the unique identifier of the plugin. More...
 

Detailed Description

Base class to be subclassed by plugins binding a host to an Asset Management System.

This is used by the dynamic plugin discovery mechanism to instantiate the ManagerInterface implementation for the asset management system.

Plugin authors must subclass this class and expose instances of it via a PluginFactory function pointer, which is in turn exposed in the plugin binary by a top level C linkage openassetioPlugin function.

See also
CppPluginSystemManagerImplementationFactory

Member Typedef Documentation

Constructor & Destructor Documentation

Defaulted destructor.

Member Function Documentation

virtual managerApi::ManagerInterfacePtr interface ( )
pure virtual

Constructs an instance of the ManagerInterface.

This is an instance of some class derived from ManagerInterface to be bound to the Host-facing Manager.

Generally this is only directly called by the CppPluginSystemManagerImplementationFactory.

Returns
ManagerInterface instance

The documentation for this class was generated from the following file:
  • /src/src/openassetio-core/include/openassetio/pluginSystem/CppPluginSystemManagerPlugin.hpp