score_plugin_deviceexplorer.hpp
1 #pragma once
2 #include <score/command/Command.hpp>
4 #include <score/plugins/application/GUIApplicationPlugin.hpp>
5 #include <score/plugins/qt_interfaces/CommandFactory_QtInterface.hpp>
6 #include <score/plugins/qt_interfaces/FactoryFamily_QtInterface.hpp>
7 #include <score/plugins/qt_interfaces/FactoryInterface_QtInterface.hpp>
8 #include <score/plugins/qt_interfaces/GUIApplicationPlugin_QtInterface.hpp>
9 #include <score/plugins/qt_interfaces/PluginRequirements_QtInterface.hpp>
10 
11 #include <utility>
12 #include <vector>
13 #include <verdigris>
14 
15 namespace score
16 {
17 
18 class InterfaceListBase;
19 class PanelFactory;
20 } // namespace score
21 
28 {
29  SCORE_PLUGIN_METADATA(1, "3c2a0e25-ab14-4c06-a1ba-033d721a520f")
30 public:
32  ~score_plugin_deviceexplorer() override;
33 
34 private:
35  // Factory for protocols
36  std::vector<std::unique_ptr<score::InterfaceListBase>> factoryFamilies() override;
37 
38  std::vector<score::InterfaceBase*> factories(
39  const score::ApplicationContext& ctx,
40  const score::InterfaceKey& factoryName) const override;
41 
42  // application plugin
44  make_guiApplicationPlugin(const score::GUIApplicationContext& app) override;
45 
46  std::pair<const CommandGroupKey, CommandGeneratorMap> make_commands() override;
47 };
Definition: UuidKey.hpp:343
Definition: GUIApplicationPlugin_QtInterface.hpp:12
Definition: CommandFactory_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_deviceexplorer.hpp:28
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Used to access all the application-wide state and structures.
Definition: ApplicationContext.hpp:24
Specializes ApplicationContext with the QMainWindow.
Definition: GUIApplicationContext.hpp:15