Skip to content
Snippets Groups Projects
confighandler.h 2 KiB
Newer Older
  • Learn to ignore specific revisions
  • akiraohgaki's avatar
    akiraohgaki committed
    #pragma once
    
    #include <QObject>
    #include <QJsonObject>
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    #include "qtil_config.h"
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    class ConfigHandler : public QObject
    {
        Q_OBJECT
    
    public:
    
    akiraohgaki's avatar
    akiraohgaki committed
        explicit ConfigHandler(QObject *parent = nullptr);
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    public slots:
    
    akiraohgaki's avatar
    akiraohgaki committed
        QJsonObject getAppConfigApplication() const;
        QJsonObject getAppConfigInstallTypes() const;
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    
    akiraohgaki's avatar
    akiraohgaki committed
        QJsonObject getUsrConfigApplication() const;
        bool setUsrConfigApplication(const QJsonObject &object) const;
        QJsonObject getUsrConfigProviders() const;
        bool setUsrConfigProviders(const QJsonObject &object) const;
        QJsonObject getUsrConfigCategories() const;
        bool setUsrConfigCategories(const QJsonObject &object) const;
        QJsonObject getUsrConfigInstalledItems() const;
        bool setUsrConfigInstalledItems(const QJsonObject &object) const;
    
    akiraohgaki's avatar
    akiraohgaki committed
        QJsonObject getUsrConfigUpdateAvailableItems() const;
        bool setUsrConfigUpdateAvailableItems(const QJsonObject &object) const;
    
    akiraohgaki's avatar
    akiraohgaki committed
    
        bool setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object) const;
        bool removeUsrConfigProvidersProvider(const QString &providerKey) const;
        bool setUsrConfigCategoriesProvider(const QString &providerKey, const QJsonObject &object) const;
        bool removeUsrConfigCategoriesProvider(const QString &providerKey) const;
        bool setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType) const;
        bool setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object) const;
        bool removeUsrConfigInstalledItemsItem(const QString &itemKey) const;
    
    akiraohgaki's avatar
    akiraohgaki committed
        bool setUsrConfigUpdateAvailableItemsItem(const QString &itemKey, const QJsonObject &object) const;
        bool removeUsrConfigUpdateAvailableItemsItem(const QString &itemKey) const;
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    private:
    
    akiraohgaki's avatar
    akiraohgaki committed
        void importAppConfigApplication();
        void importAppConfigInstallTypes();
    
    akiraohgaki's avatar
    akiraohgaki committed
        QString convertPathString(const QString &path) const;
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    
    akiraohgaki's avatar
    akiraohgaki committed
        Qtil::Config appConfig_;
        Qtil::Config usrConfig_;
    
    akiraohgaki's avatar
    akiraohgaki committed
        QJsonObject appConfigApplication_;
        QJsonObject appConfigInstallTypes_;
    };