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;
19 std::function<QVariant(QByteArray)> m_createDeviceSettings;
21
23 std::string pattern, QStringList extension, Device::ProtocolFactory::ConcreteKey k,
24 std::function<QVariant(QByteArray)> createDev, const score::DocumentContext& ctx);
25
26 void next(std::string_view path);
27 std::function<void()> asyncNext(std::string_view path);
28
29 void enumerate(std::function<void(const QString&, const Device::DeviceSettings&)>
30 onDevice) const override;
31};
32
33class SCORE_PLUGIN_PROTOCOLS_EXPORT SubfolderDeviceEnumerator
35{
36public:
37 using ret_type = std::vector<std::pair<QString, QVariant>>;
38 using func_type = std::function<ret_type(QString)>;
39 Device::ProtocolFactory::ConcreteKey m_key;
40 func_type m_createDeviceSettings;
41
43 QStringList rootFolder, Device::ProtocolFactory::ConcreteKey k,
44 func_type createDev, const score::DocumentContext& ctx);
45
46 void next(std::string_view path);
47
48 void enumerate(std::function<void(const QString&, const Device::DeviceSettings&)>
49 onDevice) const override;
50
51 int m_finished = 0;
52};
53}
Definition ProtocolFactoryInterface.hpp:29
Definition LibraryDeviceEnumerator.hpp:15
Definition LibraryDeviceEnumerator.hpp:35
Definition RecursiveWatch.hpp:18
Definition DeviceSettings.hpp:20
Definition DocumentContext.hpp:18