Skip to content
Snippets Groups Projects
config.h 903 B
Newer Older
  • Learn to ignore specific revisions
  • akiraohgaki's avatar
    akiraohgaki committed
    /**
     * A library for Qt app
     *
     * LICENSE: The GNU Lesser General Public License, version 3.0
     *
     * @author      Akira Ohgaki <akiraohgaki@gmail.com>
     * @copyright   Akira Ohgaki
     * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
    
    akiraohgaki's avatar
    akiraohgaki committed
     * @link        https://github.com/akiraohgaki/qtlibs
    
    akiraohgaki's avatar
    akiraohgaki committed
     */
    
    #pragma once
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    #include <QObject>
    #include <QJsonObject>
    
    
    akiraohgaki's avatar
    akiraohgaki committed
    namespace qtlibs {
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    class Config : public QObject
    {
        Q_OBJECT
    
    public:
    
    akiraohgaki's avatar
    akiraohgaki committed
        explicit Config(const QString &configDirPath = QString(), QObject *parent = 0);
    
        Config(const Config &other);
        Config &operator =(const Config &other);
    
    akiraohgaki's avatar
    akiraohgaki committed
    
        QString configDirPath() const;
        void setConfigDirPath(const QString &configDirPath);
    
    akiraohgaki's avatar
    akiraohgaki committed
    
        QJsonObject get(const QString &name);
    
    akiraohgaki's avatar
    akiraohgaki committed
        bool set(const QString &name, const QJsonObject &object);
    
    akiraohgaki's avatar
    akiraohgaki committed
    
    private:
    
    akiraohgaki's avatar
    akiraohgaki committed
        QString configDirPath_;
    
    akiraohgaki's avatar
    akiraohgaki committed
    } // namespace qtlibs