Loading...
Searching...
No Matches
CANProtocolFactory.hpp
1#pragma once
2#include <ossia/detail/config.hpp>
3#if defined(OSSIA_PROTOCOL_CAN)
4#include <Explorer/DefaultProtocolFactory.hpp>
5
6namespace Protocols
7{
8class CANProtocolFactory final : public DefaultProtocolFactory
9{
10 SCORE_CONCRETE("2492941c-18ee-4f96-ac3d-c3d42c0bb649")
11
12 QString prettyName() const noexcept override;
13 QString category() const noexcept override;
14 QUrl manual() const noexcept override;
15
16 Device::DeviceEnumerators
17 getEnumerators(const score::DocumentContext& ctx) const override;
18
19 Device::DeviceInterface* makeDevice(
20 const Device::DeviceSettings& settings, const Explorer::DeviceDocumentPlugin& plug,
21 const score::DocumentContext& ctx) override;
22
23 const Device::DeviceSettings& defaultSettings() const noexcept override;
24
25 Device::ProtocolSettingsWidget* makeSettingsWidget() override;
26
27 QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
28
29 void serializeProtocolSpecificSettings(
30 const QVariant& data, const VisitorVariant& visitor) const override;
31
32 bool checkCompatibility(
33 const Device::DeviceSettings& a,
34 const Device::DeviceSettings& b) const noexcept override;
35
36 // defaultSettings() hands back a reference, but the interface it names is a
37 // property of the machine *now*: an adapter plugged in after score started
38 // must show up. Recomputed on each call into this, rather than cached in a
39 // function-local static like the other protocols do.
40 mutable Device::DeviceSettings m_defaultSettings;
41};
42}
43#endif
Manipulation of Devices from Qt.
Definition AddressSettings.cpp:14
Base toolkit upon which the software is built.
Definition Application.cpp:117
The VisitorVariant struct.
Definition VisitorInterface.hpp:26