Files
fault-finder/ConfigManager.hpp

55 lines
1.7 KiB
C++

#ifndef CONFIG_MANAGER_H
#define CONFIG_MANAGER_H
#include <QObject>
#include <QJsonObject>
class ConfigManager: public QObject
{
Q_OBJECT;
Q_PROPERTY(bool recording READ GetRecordingState WRITE SetRecordingState)
Q_PROPERTY(int frame_rate READ GetFrameRate WRITE SetFrameRate)
Q_PROPERTY(double emissivity READ GetEmissivity WRITE SetEmissivity)
Q_PROPERTY(QString viewfinder_config READ GetViewfinderConfig WRITE SetViewfinderConfig)
Q_PROPERTY(QString trigger_config READ GetTriggerConfig WRITE SetTriggerConfig)
public:
ConfigManager(QObject *parent);
virtual ~ConfigManager();
public slots:
bool GetRecordingState();
void SetRecordingState(bool enable);
int GetFrameRate();
void SetFrameRate(int frame_rate);
double GetEmissivity();
void SetEmissivity(double emissivity);
QString GetViewfinderConfig();
void SetViewfinderConfig(QString config);
QString GetTriggerConfig();
void SetTriggerConfig(QString config);
signals:
void NewRecordingState(bool enable);
void NewFrameRate(int frame_rate);
void NewEmissivity(double emissivity);
private:
bool recording = false;
int frame_rate = 5;
double emissivity = 0.95;
QJsonObject viewfinder_config = QJsonObject(
{
qMakePair(QString("palette"), QJsonValue("rainbow")),
qMakePair(QString("low_temp"), QJsonValue(0)),
qMakePair(QString("high_temp"), QJsonValue(100))
});
QJsonObject trigger_config = QJsonObject(
{
qMakePair(QString("method"), QJsonValue("threshold")),
qMakePair(QString("min"), QJsonValue(50)),
qMakePair(QString("max"), QJsonValue(100))
});
};
#endif