Skip to content
Snippets Groups Projects
config.h 924 B
Newer Older
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);

akiraohgaki's avatar
akiraohgaki committed
    Config(const Config &other, QObject *parent = 0);
akiraohgaki's avatar
akiraohgaki committed
    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