score::InterfaceListBase Class Referenceabstract

InterfaceListBase Interface to access factories. More...

Inheritance diagram for score::InterfaceListBase:
score::InterfaceList< score::ValidityChecker > score::InterfaceList< ClockFactory > score::InterfaceList< score::DocumentDelegateFactory > score::InterfaceList< PortFactory > score::InterfaceList< CoherencyCheckerFactoryInterface > score::InterfaceList< DeviceModelProvider > score::InterfaceList< IntervalDropHandler > score::InterfaceList< T > score::InterfaceList< TransportInterface > score::InterfaceList< PluginSettingsTab > score::InterfaceList< Explorer::ListeningHandlerFactory > score::InterfaceList< IntervalResizer > score::InterfaceList< MoveEventFactoryInterface > score::InterfaceList< score::DocumentPluginFactory > score::InterfaceList< ProcessModelFactory > score::InterfaceList< SegmentFactory > score::InterfaceList< Factory_T > score::InterfaceList< AutomatableFactory > score::InterfaceList< AudioFactory > score::InterfaceList< score::PanelDelegateFactory > score::InterfaceList< ProcessDropHandler > score::InterfaceList< LibraryInterface > score::InterfaceList< LayerFactory > score::InterfaceList< ObjectEditor > score::InterfaceList< DropHandler > score::InterfaceList< ExecutionAction > score::InterfaceList< ProtocolFactory > Process::MagnetismAdjuster Process::OfflineActionList score::InterfaceList< FactoryType >

Detailed Description

InterfaceListBase Interface to access factories.

Actual instances are available through score::ApplicationContext:

auto& factories = context.interfaces<MyConcreteFactoryList>();

The interface lists are initialised first when scanning the plug-ins, then all the factories are added once all the lists of all plug-ins are instantiated.

Public Member Functions

 InterfaceListBase (const InterfaceListBase &)=delete
 
 InterfaceListBase (InterfaceListBase &&)=delete
 
InterfaceListBaseoperator= (const InterfaceListBase &)=delete
 
InterfaceListBaseoperator= (InterfaceListBase &&)=delete
 
virtual score::InterfaceKey interfaceKey () const noexcept=0
 A key that uniquely identifies this family of factories.
 
virtual void insert (std::unique_ptr< score::InterfaceBase >)=0
 insert Register a new factory. More...
 
virtual void optimize () noexcept=0
 optimize Called when all the factories are loaded. More...
 

Static Public Attributes

static constexpr bool factory_list_tag = true
 

Member Function Documentation

◆ insert()

◆ optimize()

virtual void score::InterfaceListBase::optimize ( )
pure virtualnoexcept

optimize Called when all the factories are loaded.

Optimize a bit the containers in which our factories are stored.

Implemented in Process::OfflineActionList.


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