score_plugin_engine.hpp
1 #pragma once
2 #include <score/application/ApplicationContext.hpp>
3 #include <score/plugins/Interface.hpp>
4 #include <score/plugins/application/GUIApplicationPlugin.hpp>
5 #include <score/plugins/qt_interfaces/FactoryFamily_QtInterface.hpp>
6 #include <score/plugins/qt_interfaces/FactoryInterface_QtInterface.hpp>
7 #include <score/plugins/qt_interfaces/GUIApplicationPlugin_QtInterface.hpp>
8 #include <score/plugins/qt_interfaces/PluginRequirements_QtInterface.hpp>
9 
10 #include <vector>
11 #include <verdigris>
12 
165 {
166  SCORE_PLUGIN_METADATA(1, "d4758f8d-64ac-41b4-8aaf-1cbd6f3feb91")
167 public:
169  virtual ~score_plugin_engine();
170 
171 private:
173  make_guiApplicationPlugin(const score::GUIApplicationContext& app) override;
174 
175  std::vector<std::unique_ptr<score::InterfaceListBase>> factoryFamilies() override;
176 
177  // Contains the OSC, MIDI, Minuit factories
178  std::vector<score::InterfaceBase*> factories(
180  const score::InterfaceKey& factoryName) const override;
181 
182  std::vector<score::PluginKey> required() const override;
183 };
Definition: UuidKey.hpp:343
Definition: GUIApplicationPlugin_QtInterface.hpp:12
Definition: FactoryInterface_QtInterface.hpp:19
Definition: FactoryFamily_QtInterface.hpp:14
Used to extend the software with application-wide data.
Definition: GUIApplicationPlugin.hpp:89
Definition: PluginRequirements_QtInterface.hpp:18
Definition: score_plugin_engine.hpp:165
Used to access all the application-wide state and structures.
Definition: ApplicationContext.hpp:24
Specializes ApplicationContext with the QMainWindow.
Definition: GUIApplicationContext.hpp:15