Newer
Older
AppendIrisCodeUtils / utils / SettingConfig.h
#ifndef SETTINGCONFIG_H
#define SETTINGCONFIG_H

#include <QVariant>
#include <QSettings>

class SettingConfig : public QObject
{
public:
    ~SettingConfig() {};
    SettingConfig(const SettingConfig&)=delete;
    SettingConfig& operator=(const SettingConfig&)=delete;

    static SettingConfig& getInstance() {
        static SettingConfig instance;
        return instance;
    }

    /**
     * @brief get
     * @param nodeName
     * @param keyName
     * @return QVariant
     * @title
     */
    QVariant getProperty(QString nodeName, QString keyName);

    /******** 以下为需要的各类参数 ********/
    int WINDOW_WIDTH;
    int WINDOW_HEIGHT;
    QString WINDOW_BACKGROUND_COLOR;
    QString WINDOW_TITLE;
    QString WINDOW_RIGHTS;
    QString WINDOW_VERSION;
    QString DEVICE_CODE;

    int IRIS_FRAME_INTERVAL;
    int IRIS_FRAME_WIDTH;
    int IRIS_FRAME_HEIGHT;
    int IRIS_WIDTH;
    int IRIS_HEIGHT;
    int IRIS_DISPLAY_WIDTH;
    int IRIS_DISPLAY_HEIGHT;
    int LOCK_FRAME_INTERVAL;

    int MAX_MATCH_TIME;
    int SUCCESS_TIPS_LAST;
    int FAILURE_TIPS_LAST;
    int MAX_FACE_TRY_COUNT;
    int MAX_FACE_NOT_FOUND_COUNT;
    int MAX_IRIS_TRY_COUNT;
    int MAX_EYE_NOT_FOUND_COUNT;
    int MIN_EYE_SIZE;

    QString LOG_FILE;
    QString LOG_LEVEL;

private:
    SettingConfig();

    QString filename;
    QSettings* setting;
};

#endif // SETTINGCONFIG_H