Start implementing backup configurations
parent
6a84144d66
commit
aff27767c1
|
|
@ -24,28 +24,28 @@
|
||||||
|
|
||||||
#include "nymeaconfiguration.h"
|
#include "nymeaconfiguration.h"
|
||||||
|
|
||||||
|
#include "mqttpolicies.h"
|
||||||
|
#include "mqttpolicy.h"
|
||||||
#include "serverconfiguration.h"
|
#include "serverconfiguration.h"
|
||||||
#include "serverconfigurations.h"
|
#include "serverconfigurations.h"
|
||||||
#include "mqttpolicy.h"
|
|
||||||
#include "mqttpolicies.h"
|
|
||||||
|
|
||||||
#include "jsonrpc/jsonrpcclient.h"
|
#include "jsonrpc/jsonrpcclient.h"
|
||||||
|
|
||||||
#include <QUuid>
|
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
|
#include <QUuid>
|
||||||
|
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
NYMEA_LOGGING_CATEGORY(dcNymeaConfiguration, "NymeaConfiguration")
|
NYMEA_LOGGING_CATEGORY(dcNymeaConfiguration, "NymeaConfiguration")
|
||||||
|
|
||||||
NymeaConfiguration::NymeaConfiguration(JsonRpcClient *client, QObject *parent):
|
NymeaConfiguration::NymeaConfiguration(JsonRpcClient *client, QObject *parent)
|
||||||
QObject(parent),
|
: QObject(parent)
|
||||||
m_client(client),
|
, m_client(client)
|
||||||
m_tcpServerConfigurations(new ServerConfigurations(this)),
|
, m_tcpServerConfigurations(new ServerConfigurations(this))
|
||||||
m_webSocketServerConfigurations(new ServerConfigurations(this)),
|
, m_webSocketServerConfigurations(new ServerConfigurations(this))
|
||||||
m_webServerConfigurations(new WebServerConfigurations(this)),
|
, m_webServerConfigurations(new WebServerConfigurations(this))
|
||||||
m_tunnelProxyServerConfigurations(new TunnelProxyServerConfigurations(this)),
|
, m_tunnelProxyServerConfigurations(new TunnelProxyServerConfigurations(this))
|
||||||
m_mqttServerConfigurations(new ServerConfigurations(this)),
|
, m_mqttServerConfigurations(new ServerConfigurations(this))
|
||||||
m_mqttPolicies(new MqttPolicies(this))
|
, m_mqttPolicies(new MqttPolicies(this))
|
||||||
{
|
{
|
||||||
client->registerNotificationHandler(this, "Configuration", "notificationReceived");
|
client->registerNotificationHandler(this, "Configuration", "notificationReceived");
|
||||||
}
|
}
|
||||||
|
|
@ -100,6 +100,28 @@ void NymeaConfiguration::setDebugServerEnabled(bool debugServerEnabled)
|
||||||
m_client->sendCommand("Configuration.SetDebugServerEnabled", params, this, "setDebugServerEnabledResponse");
|
m_client->sendCommand("Configuration.SetDebugServerEnabled", params, this, "setDebugServerEnabledResponse");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString NymeaConfiguration::backupDestinationDirectory() const
|
||||||
|
{
|
||||||
|
return m_backupDestinationDirectory;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NymeaConfiguration::setBackupDestinationDirectory(const QString &backupDestinationDirectory)
|
||||||
|
{
|
||||||
|
m_backupDestinationDirectory = backupDestinationDirectory;
|
||||||
|
emit backupDestinationDirectoryChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
int NymeaConfiguration::backupMaxCount() const
|
||||||
|
{
|
||||||
|
return m_backupMaxCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NymeaConfiguration::setBackupMaxCount(int backupMaxCount)
|
||||||
|
{
|
||||||
|
m_backupMaxCount = backupMaxCount;
|
||||||
|
emit backupMaxCountChanged();
|
||||||
|
}
|
||||||
|
|
||||||
ServerConfigurations *NymeaConfiguration::tcpServerConfigurations() const
|
ServerConfigurations *NymeaConfiguration::tcpServerConfigurations() const
|
||||||
{
|
{
|
||||||
return m_tcpServerConfigurations;
|
return m_tcpServerConfigurations;
|
||||||
|
|
@ -285,35 +307,59 @@ void NymeaConfiguration::getConfigurationsResponse(int commandId, const QVariant
|
||||||
emit serverNameChanged();
|
emit serverNameChanged();
|
||||||
QVariantMap cloudConfig = params.value("cloud").toMap();
|
QVariantMap cloudConfig = params.value("cloud").toMap();
|
||||||
|
|
||||||
|
QVariantMap backupConifgurations = params.value("backupConfigurations").toMap();
|
||||||
|
setBackupDestinationDirectory(backupConifgurations.value("destinationDirectory").toString());
|
||||||
|
setBackupMaxCount(backupConifgurations.value("maxCount").toInt());
|
||||||
|
|
||||||
tcpServerConfigurations()->clear();
|
tcpServerConfigurations()->clear();
|
||||||
foreach (const QVariant &tcpServerVariant, params.value("tcpServerConfigurations").toList()) {
|
foreach (const QVariant &tcpServerVariant, params.value("tcpServerConfigurations").toList()) {
|
||||||
QVariantMap tcpConfigMap = tcpServerVariant.toMap();
|
QVariantMap tcpConfigMap = tcpServerVariant.toMap();
|
||||||
ServerConfiguration *config = new ServerConfiguration(tcpConfigMap.value("id").toString(), tcpConfigMap.value("address").toString(), tcpConfigMap.value("port").toInt(), tcpConfigMap.value("authenticationEnabled").toBool(), tcpConfigMap.value("sslEnabled").toBool());
|
ServerConfiguration *config = new ServerConfiguration(tcpConfigMap.value("id").toString(),
|
||||||
|
tcpConfigMap.value("address").toString(),
|
||||||
|
tcpConfigMap.value("port").toInt(),
|
||||||
|
tcpConfigMap.value("authenticationEnabled").toBool(),
|
||||||
|
tcpConfigMap.value("sslEnabled").toBool());
|
||||||
qCInfo(dcNymeaConfiguration) << "TCP server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled();
|
qCInfo(dcNymeaConfiguration) << "TCP server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled();
|
||||||
m_tcpServerConfigurations->addConfiguration(config);
|
m_tcpServerConfigurations->addConfiguration(config);
|
||||||
}
|
}
|
||||||
webSocketServerConfigurations()->clear();
|
webSocketServerConfigurations()->clear();
|
||||||
foreach (const QVariant &websocketServerVariant, params.value("webSocketServerConfigurations").toList()) {
|
foreach (const QVariant &websocketServerVariant, params.value("webSocketServerConfigurations").toList()) {
|
||||||
QVariantMap websocketConfigMap = websocketServerVariant.toMap();
|
QVariantMap websocketConfigMap = websocketServerVariant.toMap();
|
||||||
ServerConfiguration *config = new ServerConfiguration(websocketConfigMap.value("id").toString(), websocketConfigMap.value("address").toString(), websocketConfigMap.value("port").toInt(), websocketConfigMap.value("authenticationEnabled").toBool(), websocketConfigMap.value("sslEnabled").toBool());
|
ServerConfiguration *config = new ServerConfiguration(websocketConfigMap.value("id").toString(),
|
||||||
qCInfo(dcNymeaConfiguration) << "WebSocket server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled();
|
websocketConfigMap.value("address").toString(),
|
||||||
|
websocketConfigMap.value("port").toInt(),
|
||||||
|
websocketConfigMap.value("authenticationEnabled").toBool(),
|
||||||
|
websocketConfigMap.value("sslEnabled").toBool());
|
||||||
|
qCInfo(dcNymeaConfiguration) << "WebSocket server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled()
|
||||||
|
<< config->sslEnabled();
|
||||||
m_webSocketServerConfigurations->addConfiguration(config);
|
m_webSocketServerConfigurations->addConfiguration(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
webServerConfigurations()->clear();
|
webServerConfigurations()->clear();
|
||||||
foreach (const QVariant &webServerVariant, params.value("webServerConfigurations").toList()) {
|
foreach (const QVariant &webServerVariant, params.value("webServerConfigurations").toList()) {
|
||||||
QVariantMap webServerConfigMap = webServerVariant.toMap();
|
QVariantMap webServerConfigMap = webServerVariant.toMap();
|
||||||
WebServerConfiguration* config = new WebServerConfiguration(webServerConfigMap.value("id").toString(), webServerConfigMap.value("address").toString(), webServerConfigMap.value("port").toInt(), webServerConfigMap.value("authenticationEnabled").toBool(), webServerConfigMap.value("sslEnabled").toBool());
|
WebServerConfiguration *config = new WebServerConfiguration(webServerConfigMap.value("id").toString(),
|
||||||
|
webServerConfigMap.value("address").toString(),
|
||||||
|
webServerConfigMap.value("port").toInt(),
|
||||||
|
webServerConfigMap.value("authenticationEnabled").toBool(),
|
||||||
|
webServerConfigMap.value("sslEnabled").toBool());
|
||||||
config->setPublicFolder(webServerConfigMap.value("publicFolder").toString());
|
config->setPublicFolder(webServerConfigMap.value("publicFolder").toString());
|
||||||
qCInfo(dcNymeaConfiguration) << "WebServer server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled() << config->publicFolder();
|
qCInfo(dcNymeaConfiguration) << "WebServer server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled()
|
||||||
|
<< config->publicFolder();
|
||||||
m_webServerConfigurations->addConfiguration(config);
|
m_webServerConfigurations->addConfiguration(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
tunnelProxyServerConfigurations()->clear();
|
tunnelProxyServerConfigurations()->clear();
|
||||||
foreach (const QVariant &tunnelProxyServerVariant, params.value("tunnelProxyServerConfigurations").toList()) {
|
foreach (const QVariant &tunnelProxyServerVariant, params.value("tunnelProxyServerConfigurations").toList()) {
|
||||||
QVariantMap tunnelProxyServerConfigMap = tunnelProxyServerVariant.toMap();
|
QVariantMap tunnelProxyServerConfigMap = tunnelProxyServerVariant.toMap();
|
||||||
TunnelProxyServerConfiguration *config = new TunnelProxyServerConfiguration(tunnelProxyServerConfigMap.value("id").toString(), tunnelProxyServerConfigMap.value("address").toString(), tunnelProxyServerConfigMap.value("port").toInt(), tunnelProxyServerConfigMap.value("authenticationEnabled").toBool(), tunnelProxyServerConfigMap.value("sslEnabled").toBool(), tunnelProxyServerConfigMap.value("ignoreSslErrors").toBool());
|
TunnelProxyServerConfiguration *config = new TunnelProxyServerConfiguration(tunnelProxyServerConfigMap.value("id").toString(),
|
||||||
qCInfo(dcNymeaConfiguration) << "Tunnel server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled() << config->ignoreSslErrors();
|
tunnelProxyServerConfigMap.value("address").toString(),
|
||||||
|
tunnelProxyServerConfigMap.value("port").toInt(),
|
||||||
|
tunnelProxyServerConfigMap.value("authenticationEnabled").toBool(),
|
||||||
|
tunnelProxyServerConfigMap.value("sslEnabled").toBool(),
|
||||||
|
tunnelProxyServerConfigMap.value("ignoreSslErrors").toBool());
|
||||||
|
qCInfo(dcNymeaConfiguration) << "Tunnel server config:" << config->id() << config->address() << config->port() << config->authenticationEnabled() << config->sslEnabled()
|
||||||
|
<< config->ignoreSslErrors();
|
||||||
m_tunnelProxyServerConfigurations->addConfiguration(config);
|
m_tunnelProxyServerConfigurations->addConfiguration(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -387,7 +433,11 @@ void NymeaConfiguration::getMqttServerConfigsReply(int commandId, const QVariant
|
||||||
m_mqttServerConfigurations->clear();
|
m_mqttServerConfigurations->clear();
|
||||||
foreach (const QVariant &mqttServerVariant, params.value("mqttServerConfigurations").toList()) {
|
foreach (const QVariant &mqttServerVariant, params.value("mqttServerConfigurations").toList()) {
|
||||||
QVariantMap mqttConfigMap = mqttServerVariant.toMap();
|
QVariantMap mqttConfigMap = mqttServerVariant.toMap();
|
||||||
ServerConfiguration *config = new ServerConfiguration(mqttConfigMap.value("id").toString(), mqttConfigMap.value("address").toString(), mqttConfigMap.value("port").toInt(), mqttConfigMap.value("authenticationEnabled").toBool(), mqttConfigMap.value("sslEnabled").toBool());
|
ServerConfiguration *config = new ServerConfiguration(mqttConfigMap.value("id").toString(),
|
||||||
|
mqttConfigMap.value("address").toString(),
|
||||||
|
mqttConfigMap.value("port").toInt(),
|
||||||
|
mqttConfigMap.value("authenticationEnabled").toBool(),
|
||||||
|
mqttConfigMap.value("sslEnabled").toBool());
|
||||||
m_mqttServerConfigurations->addConfiguration(config);
|
m_mqttServerConfigurations->addConfiguration(config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -405,16 +455,15 @@ void NymeaConfiguration::deleteMqttConfigReply(int commandId, const QVariantMap
|
||||||
void NymeaConfiguration::getMqttPoliciesReply(int commandId, const QVariantMap ¶ms)
|
void NymeaConfiguration::getMqttPoliciesReply(int commandId, const QVariantMap ¶ms)
|
||||||
{
|
{
|
||||||
Q_UNUSED(commandId)
|
Q_UNUSED(commandId)
|
||||||
// qCDebug(dcNymeaConfiguration) << "Mqtt polices:" << params;
|
// qCDebug(dcNymeaConfiguration) << "Mqtt polices:" << params;
|
||||||
m_mqttPolicies->clear();
|
m_mqttPolicies->clear();
|
||||||
foreach (const QVariant &policyVariant, params.value("mqttPolicies").toList()) {
|
foreach (const QVariant &policyVariant, params.value("mqttPolicies").toList()) {
|
||||||
QVariantMap policyMap = policyVariant.toMap();
|
QVariantMap policyMap = policyVariant.toMap();
|
||||||
MqttPolicy *policy = new MqttPolicy(
|
MqttPolicy *policy = new MqttPolicy(policyMap.value("clientId").toString(),
|
||||||
policyMap.value("clientId").toString(),
|
policyMap.value("username").toString(),
|
||||||
policyMap.value("username").toString(),
|
policyMap.value("password").toString(),
|
||||||
policyMap.value("password").toString(),
|
policyMap.value("allowedPublishTopicFilters").toStringList(),
|
||||||
policyMap.value("allowedPublishTopicFilters").toStringList(),
|
policyMap.value("allowedSubscribeTopicFilters").toStringList());
|
||||||
policyMap.value("allowedSubscribeTopicFilters").toStringList());
|
|
||||||
m_mqttPolicies->addPolicy(policy);
|
m_mqttPolicies->addPolicy(policy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -437,10 +486,21 @@ void NymeaConfiguration::notificationReceived(const QVariantMap ¬ification)
|
||||||
|
|
||||||
if (notif == "Configuration.BasicConfigurationChanged") {
|
if (notif == "Configuration.BasicConfigurationChanged") {
|
||||||
QVariantMap configMap = params.value("basicConfiguration").toMap();
|
QVariantMap configMap = params.value("basicConfiguration").toMap();
|
||||||
|
|
||||||
m_debugServerEnabled = configMap.value("debugServerEnabled").toBool();
|
m_debugServerEnabled = configMap.value("debugServerEnabled").toBool();
|
||||||
emit debugServerEnabledChanged();
|
emit debugServerEnabledChanged();
|
||||||
|
|
||||||
m_serverName = configMap.value("serverName").toString();
|
m_serverName = configMap.value("serverName").toString();
|
||||||
emit serverNameChanged();
|
emit serverNameChanged();
|
||||||
|
|
||||||
|
QVariantMap backupConfigMap = params.value("backupConfiguration").toMap();
|
||||||
|
|
||||||
|
m_backupDestinationDirectory = backupConfigMap.value("destinationDirectory").toString();
|
||||||
|
emit backupDestinationDirectoryChanged();
|
||||||
|
|
||||||
|
m_backupMaxCount = backupConfigMap.value("maxCount").toInt();
|
||||||
|
emit backupMaxCountChanged();
|
||||||
|
|
||||||
qCDebug(dcNymeaConfiguration()) << "Basic configuration changed. Server name:" << m_serverName << "Debug server enabled:" << m_debugServerEnabled;
|
qCDebug(dcNymeaConfiguration()) << "Basic configuration changed. Server name:" << m_serverName << "Debug server enabled:" << m_debugServerEnabled;
|
||||||
} else if (notif == "Configuration.TcpServerConfigurationChanged") {
|
} else if (notif == "Configuration.TcpServerConfigurationChanged") {
|
||||||
QVariantMap configMap = params.value("tcpServerConfiguration").toMap();
|
QVariantMap configMap = params.value("tcpServerConfiguration").toMap();
|
||||||
|
|
@ -493,7 +553,7 @@ void NymeaConfiguration::notificationReceived(const QVariantMap ¬ification)
|
||||||
bool sslEnabled = configMap.value("sslEnabled").toBool();
|
bool sslEnabled = configMap.value("sslEnabled").toBool();
|
||||||
bool ignoreSslErrors = configMap.value("ignoreSslErrors").toBool();
|
bool ignoreSslErrors = configMap.value("ignoreSslErrors").toBool();
|
||||||
|
|
||||||
TunnelProxyServerConfiguration *config = qobject_cast<TunnelProxyServerConfiguration*>(m_tunnelProxyServerConfigurations->getConfiguration(id));
|
TunnelProxyServerConfiguration *config = qobject_cast<TunnelProxyServerConfiguration *>(m_tunnelProxyServerConfigurations->getConfiguration(id));
|
||||||
bool existing = true;
|
bool existing = true;
|
||||||
if (!config) {
|
if (!config) {
|
||||||
existing = false;
|
existing = false;
|
||||||
|
|
@ -505,7 +565,8 @@ void NymeaConfiguration::notificationReceived(const QVariantMap ¬ification)
|
||||||
config->setSslEnabled(sslEnabled);
|
config->setSslEnabled(sslEnabled);
|
||||||
config->setIgnoreSslErrors(ignoreSslErrors);
|
config->setIgnoreSslErrors(ignoreSslErrors);
|
||||||
if (!existing) {
|
if (!existing) {
|
||||||
qCInfo(dcNymeaConfiguration()) << "Adding tunnel proxy connection:" << config->id() << config->address() << config->port() << config->sslEnabled() << config->authenticationEnabled() << config->ignoreSslErrors();
|
qCInfo(dcNymeaConfiguration()) << "Adding tunnel proxy connection:" << config->id() << config->address() << config->port() << config->sslEnabled()
|
||||||
|
<< config->authenticationEnabled() << config->ignoreSslErrors();
|
||||||
m_tunnelProxyServerConfigurations->addConfiguration(config);
|
m_tunnelProxyServerConfigurations->addConfiguration(config);
|
||||||
}
|
}
|
||||||
} else if (notif == "Configuration.WebServerConfigurationChanged") {
|
} else if (notif == "Configuration.WebServerConfigurationChanged") {
|
||||||
|
|
@ -515,9 +576,9 @@ void NymeaConfiguration::notificationReceived(const QVariantMap ¬ification)
|
||||||
int port = configMap.value("port").toInt();
|
int port = configMap.value("port").toInt();
|
||||||
bool authEnabled = configMap.value("authenticationEnabled").toBool();
|
bool authEnabled = configMap.value("authenticationEnabled").toBool();
|
||||||
bool sslEnabled = configMap.value("sslEnabled").toBool();
|
bool sslEnabled = configMap.value("sslEnabled").toBool();
|
||||||
QString publicFolder = configMap.value("publicFolder").toString();
|
QString publicFolder = configMap.value("publicFolder").toString();
|
||||||
|
|
||||||
WebServerConfiguration *config = qobject_cast<WebServerConfiguration*>(m_webServerConfigurations->getConfiguration(id));
|
WebServerConfiguration *config = qobject_cast<WebServerConfiguration *>(m_webServerConfigurations->getConfiguration(id));
|
||||||
bool existing = true;
|
bool existing = true;
|
||||||
if (!config) {
|
if (!config) {
|
||||||
existing = false;
|
existing = false;
|
||||||
|
|
@ -581,7 +642,7 @@ void NymeaConfiguration::notificationReceived(const QVariantMap ¬ification)
|
||||||
policy->setAllowedSubscribeTopicFilters(policyMap.value("allowedSubscribeTopicFilters").toStringList());
|
policy->setAllowedSubscribeTopicFilters(policyMap.value("allowedSubscribeTopicFilters").toStringList());
|
||||||
qCInfo(dcNymeaConfiguration()) << "MQTT policy changed" << policy->clientId() << policy->username() << policy->password();
|
qCInfo(dcNymeaConfiguration()) << "MQTT policy changed" << policy->clientId() << policy->username() << policy->password();
|
||||||
} else if (notif == "Configuration.MqttPolicyRemoved") {
|
} else if (notif == "Configuration.MqttPolicyRemoved") {
|
||||||
MqttPolicy* policy = m_mqttPolicies->getPolicy(params.value("clientId").toString());
|
MqttPolicy *policy = m_mqttPolicies->getPolicy(params.value("clientId").toString());
|
||||||
if (!policy) {
|
if (!policy) {
|
||||||
qCWarning(dcNymeaConfiguration()) << "Reveived a policy removed notification for apolicy we don't know";
|
qCWarning(dcNymeaConfiguration()) << "Reveived a policy removed notification for apolicy we don't know";
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,8 @@
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
#include "serverconfigurations.h"
|
|
||||||
#include "mqttpolicies.h"
|
#include "mqttpolicies.h"
|
||||||
|
#include "serverconfigurations.h"
|
||||||
|
|
||||||
class JsonRpcClient;
|
class JsonRpcClient;
|
||||||
class ServerConfiguration;
|
class ServerConfiguration;
|
||||||
|
|
@ -49,16 +49,19 @@ class NymeaConfiguration : public QObject
|
||||||
|
|
||||||
Q_PROPERTY(bool debugServerEnabled READ debugServerEnabled WRITE setDebugServerEnabled NOTIFY debugServerEnabledChanged)
|
Q_PROPERTY(bool debugServerEnabled READ debugServerEnabled WRITE setDebugServerEnabled NOTIFY debugServerEnabledChanged)
|
||||||
|
|
||||||
Q_PROPERTY(ServerConfigurations* tcpServerConfigurations READ tcpServerConfigurations CONSTANT)
|
Q_PROPERTY(QString backupDestinationDirectory READ backupDestinationDirectory WRITE setBackupDestinationDirectory NOTIFY backupDestinationDirectoryChanged FINAL)
|
||||||
Q_PROPERTY(ServerConfigurations* webSocketServerConfigurations READ webSocketServerConfigurations CONSTANT)
|
Q_PROPERTY(int backupMaxCount READ backupMaxCount NOTIFY backupMaxCountChanged FINAL)
|
||||||
Q_PROPERTY(WebServerConfigurations* webServerConfigurations READ webServerConfigurations CONSTANT)
|
|
||||||
Q_PROPERTY(TunnelProxyServerConfigurations* tunnelProxyServerConfigurations READ tunnelProxyServerConfigurations CONSTANT)
|
|
||||||
Q_PROPERTY(ServerConfigurations* mqttServerConfigurations READ mqttServerConfigurations CONSTANT)
|
|
||||||
|
|
||||||
Q_PROPERTY(MqttPolicies* mqttPolicies READ mqttPolicies CONSTANT)
|
Q_PROPERTY(ServerConfigurations *tcpServerConfigurations READ tcpServerConfigurations CONSTANT)
|
||||||
|
Q_PROPERTY(ServerConfigurations *webSocketServerConfigurations READ webSocketServerConfigurations CONSTANT)
|
||||||
|
Q_PROPERTY(WebServerConfigurations *webServerConfigurations READ webServerConfigurations CONSTANT)
|
||||||
|
Q_PROPERTY(TunnelProxyServerConfigurations *tunnelProxyServerConfigurations READ tunnelProxyServerConfigurations CONSTANT)
|
||||||
|
Q_PROPERTY(ServerConfigurations *mqttServerConfigurations READ mqttServerConfigurations CONSTANT)
|
||||||
|
|
||||||
|
Q_PROPERTY(MqttPolicies *mqttPolicies READ mqttPolicies CONSTANT)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit NymeaConfiguration(JsonRpcClient* client, QObject *parent = nullptr);
|
explicit NymeaConfiguration(JsonRpcClient *client, QObject *parent = nullptr);
|
||||||
|
|
||||||
bool fetchingData() const;
|
bool fetchingData() const;
|
||||||
|
|
||||||
|
|
@ -76,6 +79,12 @@ public:
|
||||||
bool debugServerEnabled() const;
|
bool debugServerEnabled() const;
|
||||||
void setDebugServerEnabled(bool debugServerEnabled);
|
void setDebugServerEnabled(bool debugServerEnabled);
|
||||||
|
|
||||||
|
QString backupDestinationDirectory() const;
|
||||||
|
void setBackupDestinationDirectory(const QString &backupDestinationDirectory);
|
||||||
|
|
||||||
|
int backupMaxCount() const;
|
||||||
|
void setBackupMaxCount(int backupMaxCount);
|
||||||
|
|
||||||
ServerConfigurations *tcpServerConfigurations() const;
|
ServerConfigurations *tcpServerConfigurations() const;
|
||||||
ServerConfigurations *webSocketServerConfigurations() const;
|
ServerConfigurations *webSocketServerConfigurations() const;
|
||||||
WebServerConfigurations *webServerConfigurations() const;
|
WebServerConfigurations *webServerConfigurations() const;
|
||||||
|
|
@ -83,10 +92,12 @@ public:
|
||||||
ServerConfigurations *mqttServerConfigurations() const;
|
ServerConfigurations *mqttServerConfigurations() const;
|
||||||
MqttPolicies *mqttPolicies() const;
|
MqttPolicies *mqttPolicies() const;
|
||||||
|
|
||||||
Q_INVOKABLE ServerConfiguration* createServerConfiguration(const QString &address = "0.0.0.0", int port = 0, bool authEnabled = false, bool sslEnabled = false);
|
Q_INVOKABLE ServerConfiguration *createServerConfiguration(const QString &address = "0.0.0.0", int port = 0, bool authEnabled = false, bool sslEnabled = false);
|
||||||
Q_INVOKABLE WebServerConfiguration* createWebServerConfiguration(const QString &address = "0.0.0.0", int port = 0, bool authEnabled = false, bool sslEnabled = false, const QString &publicFolder = QString());
|
Q_INVOKABLE WebServerConfiguration *createWebServerConfiguration(
|
||||||
Q_INVOKABLE TunnelProxyServerConfiguration* createTunnelProxyServerConfiguration(const QString &address, int port, bool authEnabled = true, bool sslEnabled = true, bool ignoreSslErrors = false);
|
const QString &address = "0.0.0.0", int port = 0, bool authEnabled = false, bool sslEnabled = false, const QString &publicFolder = QString());
|
||||||
Q_INVOKABLE MqttPolicy* createMqttPolicy() const;
|
Q_INVOKABLE TunnelProxyServerConfiguration *createTunnelProxyServerConfiguration(
|
||||||
|
const QString &address, int port, bool authEnabled = true, bool sslEnabled = true, bool ignoreSslErrors = false);
|
||||||
|
Q_INVOKABLE MqttPolicy *createMqttPolicy() const;
|
||||||
|
|
||||||
Q_INVOKABLE void setTcpServerConfiguration(ServerConfiguration *configuration);
|
Q_INVOKABLE void setTcpServerConfiguration(ServerConfiguration *configuration);
|
||||||
Q_INVOKABLE void setWebSocketServerConfiguration(ServerConfiguration *configuration);
|
Q_INVOKABLE void setWebSocketServerConfiguration(ServerConfiguration *configuration);
|
||||||
|
|
@ -100,7 +111,7 @@ public:
|
||||||
Q_INVOKABLE void deleteTunnelProxyServerConfiguration(const QString &id);
|
Q_INVOKABLE void deleteTunnelProxyServerConfiguration(const QString &id);
|
||||||
Q_INVOKABLE void deleteMqttServerConfiguration(const QString &id);
|
Q_INVOKABLE void deleteMqttServerConfiguration(const QString &id);
|
||||||
|
|
||||||
Q_INVOKABLE void updateMqttPolicy(MqttPolicy* policy);
|
Q_INVOKABLE void updateMqttPolicy(MqttPolicy *policy);
|
||||||
Q_INVOKABLE void deleteMqttPolicy(const QString &clientId);
|
Q_INVOKABLE void deleteMqttPolicy(const QString &clientId);
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
|
|
@ -131,6 +142,8 @@ signals:
|
||||||
void fetchingDataChanged();
|
void fetchingDataChanged();
|
||||||
void debugServerEnabledChanged();
|
void debugServerEnabledChanged();
|
||||||
void serverNameChanged();
|
void serverNameChanged();
|
||||||
|
void backupDestinationDirectoryChanged();
|
||||||
|
void backupMaxCountChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JsonRpcClient *m_client = nullptr;
|
JsonRpcClient *m_client = nullptr;
|
||||||
|
|
@ -139,13 +152,15 @@ private:
|
||||||
bool m_debugServerEnabled = false;
|
bool m_debugServerEnabled = false;
|
||||||
QString m_serverName;
|
QString m_serverName;
|
||||||
|
|
||||||
|
QString m_backupDestinationDirectory;
|
||||||
|
int m_backupMaxCount = 1;
|
||||||
|
|
||||||
ServerConfigurations *m_tcpServerConfigurations = nullptr;
|
ServerConfigurations *m_tcpServerConfigurations = nullptr;
|
||||||
ServerConfigurations *m_webSocketServerConfigurations = nullptr;
|
ServerConfigurations *m_webSocketServerConfigurations = nullptr;
|
||||||
WebServerConfigurations* m_webServerConfigurations = nullptr;
|
WebServerConfigurations *m_webServerConfigurations = nullptr;
|
||||||
TunnelProxyServerConfigurations *m_tunnelProxyServerConfigurations = nullptr;
|
TunnelProxyServerConfigurations *m_tunnelProxyServerConfigurations = nullptr;
|
||||||
ServerConfigurations *m_mqttServerConfigurations = nullptr;
|
ServerConfigurations *m_mqttServerConfigurations = nullptr;
|
||||||
MqttPolicies *m_mqttPolicies = nullptr;
|
MqttPolicies *m_mqttPolicies = nullptr;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NYMEACONFIGURATION_H
|
#endif // NYMEACONFIGURATION_H
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue