Loading...
Searching...
No Matches
LibraryDeviceEnumerator.hpp
1#pragma once
2#include <Device/Protocol/ProtocolFactoryInterface.hpp>
3
4#include <score/tools/RecursiveWatch.hpp>
5
6#include <functional>
7
8#include <score_plugin_protocols_export.h>
9
10namespace Protocols
11{
12
13class SCORE_PLUGIN_PROTOCOLS_EXPORT LibraryDeviceEnumerator
15{
16public:
17 std::string m_pattern;
18 Device::ProtocolFactory::ConcreteKey m_key;
23 std::function<QVariant(QByteArray, const QString&)> m_createDeviceSettings;
25
28 std::string pattern, QStringList extension, Device::ProtocolFactory::ConcreteKey k,
29 std::function<QVariant(QByteArray)> createDev, const score::DocumentContext& ctx);
30
33 std::string pattern, QStringList extension, Device::ProtocolFactory::ConcreteKey k,
34 std::function<QVariant(QByteArray, const QString&)> createDev,
35 const score::DocumentContext& ctx);
36
38 ~LibraryDeviceEnumerator() override;
39
40 void next(std::string_view path);
41
42 void enumerate(std::function<void(const QString&, const Device::DeviceSettings&)>
43 onDevice) const override;
44};
45
46class SCORE_PLUGIN_PROTOCOLS_EXPORT SubfolderDeviceEnumerator
48{
49public:
50 using ret_type = std::vector<std::pair<QString, QVariant>>;
51 using func_type = std::function<ret_type(QString)>;
52 Device::ProtocolFactory::ConcreteKey m_key;
53 func_type m_createDeviceSettings;
54
56 QStringList rootFolder, Device::ProtocolFactory::ConcreteKey k,
57 func_type createDev, const score::DocumentContext& ctx);
58
59 void next(std::string_view path);
60
61 void enumerate(std::function<void(const QString&, const Device::DeviceSettings&)>
62 onDevice) const override;
63
64 int m_finished = 0;
65};
66}
Definition ProtocolFactoryInterface.hpp:32
Definition LibraryDeviceEnumerator.hpp:15
std::function< QVariant(QByteArray, const QString &)> m_createDeviceSettings
Definition LibraryDeviceEnumerator.hpp:23
Definition LibraryDeviceEnumerator.hpp:48
Definition RecursiveWatch.hpp:20
Definition DeviceSettings.hpp:20
Definition DocumentContext.hpp:18