/* * 86Box A hypervisor and IBM PC system emulator that specializes in * running old operating systems and software designed for IBM * PC systems and compatibles from 1981 through fairly recent * system designs based on the PCI bus. * * This file is part of the 86Box distribution. * * Header for the 86Box VM manager configuration module * * * * Authors: cold-brewed * * Copyright 2024 cold-brewed */ #ifndef QT_VMMANAGER_CONFIG_H #define QT_VMMANAGER_CONFIG_H #include class VMManagerConfig : QObject { Q_OBJECT public: enum class ConfigType { General, System, }; Q_ENUM(ConfigType); explicit VMManagerConfig(ConfigType type, const QString& section = {}); ~VMManagerConfig() override; [[nodiscard]] QString getStringValue(const QString& key) const; void setStringValue(const QString& key, const QString& value) const; void remove(const QString &key) const; void sync() const; QSettings *settings; ConfigType config_type; QString system_name; }; #endif // QT_VMMANAGER_CONFIG_H