Loading...
Searching...
No Matches
BitfocusSpecificSettings.hpp
1#pragma once
2#include <ossia/detail/optional.hpp>
3#include <ossia/network/value/value.hpp>
4
5#include <QString>
6#include <QVariant>
7
8#include <map>
9#include <memory>
10#include <optional>
11#include <verdigris>
12
13namespace bitfocus
14{
15struct module_handler;
16}
17
18namespace Protocols
19{
21{
22 QString path;
23 QString entrypoint;
24 QString id;
25 QString name;
26 QString brand;
27 QString product;
28 QString nodeVersion;
29 QString apiVersion;
30
31 std::vector<std::pair<QString, ossia::value>> configuration;
33 std::optional<int> upgradeIndex;
35 std::optional<std::vector<QString>> secretKeys;
36
37 QString description;
38 std::shared_ptr<bitfocus::module_handler> handler;
39
42
43 QString enumeratorLabel() const;
44
46 std::map<QString, QVariant> moduleConfiguration() const;
47
49 std::shared_ptr<bitfocus::module_handler> makeHandler(const QString& label) const;
50};
51}
Definition BitfocusSpecificSettings.hpp:21
std::optional< int > upgradeIndex
Last upgrade script the configuration went through.
Definition BitfocusSpecificSettings.hpp:33
std::map< QString, QVariant > moduleConfiguration() const
The configuration as sent to the module.
Definition BitfocusSpecificSettingsSerialization.cpp:37
std::optional< std::vector< QString > > secretKeys
The keys of the configuration which go to the module as secrets.
Definition BitfocusSpecificSettings.hpp:35
std::shared_ptr< bitfocus::module_handler > makeHandler(const QString &label) const
Starts the module process.
Definition BitfocusSpecificSettingsSerialization.cpp:48
void deduplicateConfiguration()
Keeps the first entry for each key.
Definition BitfocusSpecificSettingsSerialization.cpp:28