Loading...
Searching...
No Matches
DeviceModelProvider.hpp
1#pragma once
2#include <score/plugins/Interface.hpp>
3#include <score/plugins/InterfaceList.hpp>
4
5#include <score_lib_device_export.h>
6namespace score
7{
8struct DocumentContext;
9}
10namespace Device
11{
12class NodeBasedItemModel;
13
14class SCORE_LIB_DEVICE_EXPORT DeviceModelProvider : public score::InterfaceBase
15{
16 SCORE_INTERFACE(DeviceModelProvider, "2f641f1d-46f8-4c88-9038-7e84957e4a03")
17
18public:
19 ~DeviceModelProvider() override;
21 getNodeModel(const score::DocumentContext& ctx) const noexcept = 0;
22};
23
24class SCORE_LIB_DEVICE_EXPORT DeviceModelProviderList final
25 : public score::InterfaceList<DeviceModelProvider>
26{
27public:
28 ~DeviceModelProviderList() override;
29 DeviceModelProvider* getBestProvider(const score::DocumentContext& ctx) const noexcept;
30};
31}
Definition DeviceModelProvider.hpp:15
Definition DeviceModelProvider.hpp:26
Definition NodeBasedItemModel.hpp:18
Base class for plug-in interfaces.
Definition Interface.hpp:52
InterfaceList Default implementation of InterfaceListBase.
Definition InterfaceList.hpp:80
Manipulation of Devices from Qt.
Definition AddressSettings.cpp:14
Base toolkit upon which the software is built.
Definition Application.cpp:90
Definition DocumentContext.hpp:18