Files

36 lines
1.0 KiB
C++
Raw Permalink Normal View History

2026-07-09 09:17:30 +00:00
#pragma once
#include <QJsonObject>
2026-07-09 09:17:30 +00:00
#include <QString>
class ConfigHelper
{
public:
static ConfigHelper& instance();
QString getValue(const QString& section, const QString& key) const;
bool setValue(const QString& section, const QString& key, const QString& value);
QString configPath() const;
QString productConfigPath() const;
QString stateLocation() const;
2026-07-09 09:17:30 +00:00
QString installRoot() const;
QString runtimeRoot() const;
QString updateRoot() const;
QString runtimeRelativePath() const;
QString lastError() const;
private:
ConfigHelper();
bool loadProductConfig();
bool migrateLegacyStateIfNeeded();
bool initializeStateDefaults();
QString stateStorageKey(const QString& key) const;
QString stateValue(const QString& key) const;
bool writeStateValue(const QString& key, const QString& value);
static bool isMutableKey(const QString& key);
QString m_productConfigPath;
QString m_statePrefix;
QJsonObject m_productConfig;
QJsonObject m_initialState;
2026-07-09 09:17:30 +00:00
QString m_error;
};