Loading...
Searching...
No Matches
score::InterfaceListBase Class Referenceabstract

InterfaceListBase Interface to access factories. More...

Inheritance diagram for score::InterfaceListBase:
score::InterfaceList< AudioFactory > score::InterfaceList< SegmentFactory > score::InterfaceList< DeviceModelProvider > score::InterfaceList< ProtocolFactory > score::InterfaceList< ClockFactory > score::InterfaceList< ExecutionAction > score::InterfaceList< Execution::ProcessComponentFactory > score::InterfaceList< Explorer::ListeningHandlerFactory > score::InterfaceList< InspectorWidgetFactory > score::InterfaceList< LibraryInterface > score::InterfaceList< LocalTree::ProcessComponentFactory > score::InterfaceList< PluginSettingsTab > score::InterfaceList< AutomatableFactory > score::InterfaceList< LayerFactory > score::InterfaceList< PortFactory > score::InterfaceList< ProcessDropHandler > score::InterfaceList< ProcessModelFactory > score::InterfaceList< RemoteControlProvider > score::InterfaceList< CoherencyCheckerFactoryInterface > score::InterfaceList< MoveEventFactoryInterface > score::InterfaceList< TriggerCommandFactory > score::InterfaceList< DisplayedElementsProvider > score::InterfaceList< DisplayedElementsToolPaletteFactory > score::InterfaceList< DropHandler > score::InterfaceList< IntervalDropHandler > score::InterfaceList< IntervalResizer > score::InterfaceList< TransportInterface > score::InterfaceList< Factory_T > score::InterfaceList< score::DocumentDelegateFactory > score::InterfaceList< score::DocumentPluginFactory > score::InterfaceList< T > score::InterfaceList< ObjectEditor > score::InterfaceList< score::PanelDelegateFactory > score::InterfaceList< score::ValidityChecker > 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.
 
virtual void optimize () noexcept=0
 optimize Called when all the factories are loaded.
 

Static Public Attributes

static constexpr bool factory_list_tag = true
 

Member Function Documentation

◆ insert()

virtual void score::InterfaceListBase::insert ( std::unique_ptr< score::InterfaceBase )
pure virtual

insert Register a new factory.

All the factories are registered upon loading.

Implemented in score::InterfaceList< FactoryType >, score::InterfaceList< AudioFactory >, score::InterfaceList< AutomatableFactory >, score::InterfaceList< ClockFactory >, score::InterfaceList< CoherencyCheckerFactoryInterface >, score::InterfaceList< DeviceModelProvider >, score::InterfaceList< DisplayedElementsProvider >, score::InterfaceList< DisplayedElementsToolPaletteFactory >, score::InterfaceList< DropHandler >, score::InterfaceList< Execution::ProcessComponentFactory >, score::InterfaceList< ExecutionAction >, score::InterfaceList< Explorer::ListeningHandlerFactory >, score::InterfaceList< Factory_T >, score::InterfaceList< InspectorWidgetFactory >, score::InterfaceList< IntervalDropHandler >, score::InterfaceList< IntervalResizer >, score::InterfaceList< LayerFactory >, score::InterfaceList< LibraryInterface >, score::InterfaceList< LocalTree::ProcessComponentFactory >, score::InterfaceList< MoveEventFactoryInterface >, score::InterfaceList< ObjectEditor >, score::InterfaceList< PluginSettingsTab >, score::InterfaceList< PortFactory >, score::InterfaceList< ProcessDropHandler >, score::InterfaceList< ProcessModelFactory >, score::InterfaceList< ProtocolFactory >, score::InterfaceList< RemoteControlProvider >, score::InterfaceList< score::DocumentDelegateFactory >, score::InterfaceList< score::DocumentPluginFactory >, score::InterfaceList< score::PanelDelegateFactory >, score::InterfaceList< score::ValidityChecker >, score::InterfaceList< SegmentFactory >, score::InterfaceList< T >, score::InterfaceList< TransportInterface >, score::InterfaceList< TriggerCommandFactory >, and Process::OfflineActionList.

◆ interfaceKey()

virtual score::InterfaceKey score::InterfaceListBase::interfaceKey ( ) const
pure virtualnoexcept

A key that uniquely identifies this family of factories.

Implemented in score::InterfaceList< FactoryType >, score::InterfaceList< AudioFactory >, score::InterfaceList< AutomatableFactory >, score::InterfaceList< ClockFactory >, score::InterfaceList< CoherencyCheckerFactoryInterface >, score::InterfaceList< DeviceModelProvider >, score::InterfaceList< DisplayedElementsProvider >, score::InterfaceList< DisplayedElementsToolPaletteFactory >, score::InterfaceList< DropHandler >, score::InterfaceList< Execution::ProcessComponentFactory >, score::InterfaceList< ExecutionAction >, score::InterfaceList< Explorer::ListeningHandlerFactory >, score::InterfaceList< Factory_T >, score::InterfaceList< InspectorWidgetFactory >, score::InterfaceList< IntervalDropHandler >, score::InterfaceList< IntervalResizer >, score::InterfaceList< LayerFactory >, score::InterfaceList< LibraryInterface >, score::InterfaceList< LocalTree::ProcessComponentFactory >, score::InterfaceList< MoveEventFactoryInterface >, score::InterfaceList< ObjectEditor >, score::InterfaceList< PluginSettingsTab >, score::InterfaceList< PortFactory >, score::InterfaceList< ProcessDropHandler >, score::InterfaceList< ProcessModelFactory >, score::InterfaceList< ProtocolFactory >, score::InterfaceList< RemoteControlProvider >, score::InterfaceList< score::DocumentDelegateFactory >, score::InterfaceList< score::DocumentPluginFactory >, score::InterfaceList< score::PanelDelegateFactory >, score::InterfaceList< score::ValidityChecker >, score::InterfaceList< SegmentFactory >, score::InterfaceList< T >, score::InterfaceList< TransportInterface >, score::InterfaceList< TriggerCommandFactory >, Process::OfflineActionList, and Process::MagnetismAdjuster.

◆ 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: