EvdevProtocolFactory.hpp
1 #pragma once
2 #include <ossia/detail/config.hpp>
3 #if defined(OSSIA_PROTOCOL_EVDEV)
4 #include <Explorer/DefaultProtocolFactory.hpp>
5 
6 namespace Protocols
7 {
8 
9 class EvdevProtocolFactory final : public DefaultProtocolFactory
10 {
11  SCORE_CONCRETE("cc093ece-7de2-4459-b17e-507c1f3cc52b")
12 
13  QString prettyName() const noexcept override;
14  QString category() const noexcept override;
15  QUrl manual() const noexcept override;
16 
17  Device::DeviceEnumerators
18  getEnumerators(const score::DocumentContext& ctx) const override;
19 
20  Device::DeviceInterface* makeDevice(
21  const Device::DeviceSettings& settings, const Explorer::DeviceDocumentPlugin& plug,
22  const score::DocumentContext& ctx) override;
23 
24  const Device::DeviceSettings& defaultSettings() const noexcept override;
25 
26  Device::ProtocolSettingsWidget* makeSettingsWidget() override;
27 
28  QVariant makeProtocolSpecificSettings(const VisitorVariant& visitor) const override;
29 
30  void serializeProtocolSpecificSettings(
31  const QVariant& data, const VisitorVariant& visitor) const override;
32 
33  bool checkCompatibility(
34  const Device::DeviceSettings& a,
35  const Device::DeviceSettings& b) const noexcept override;
36 };
37 }
38 #endif
Manipulation of Devices from Qt.
Definition: AddressSettings.cpp:14
Base toolkit upon which the software is built.
Definition: Application.cpp:90
The VisitorVariant struct.
Definition: VisitorInterface.hpp:26