Skip to content
Snippets Groups Projects
qtlib_config.h 781 B
Newer Older
akiraohgaki's avatar
akiraohgaki committed
/**
akiraohgaki's avatar
akiraohgaki committed
 * qtlib
akiraohgaki's avatar
akiraohgaki committed
 *
 * @author      Akira Ohgaki <akiraohgaki@gmail.com>
 * @copyright   Akira Ohgaki
akiraohgaki's avatar
akiraohgaki committed
 * @license     https://opensource.org/licenses/LGPL-3.0
akiraohgaki's avatar
akiraohgaki committed
 * @link        https://github.com/akiraohgaki/qtlib
akiraohgaki's avatar
akiraohgaki committed
 */

#pragma once
akiraohgaki's avatar
akiraohgaki committed

#include <QObject>
#include <QJsonObject>

akiraohgaki's avatar
akiraohgaki committed
namespace qtlib {
akiraohgaki's avatar
akiraohgaki committed

class Config : public QObject
{
    Q_OBJECT

public:
akiraohgaki's avatar
akiraohgaki committed
    explicit Config(const QString &configDirPath = "", QObject *parent = 0);
akiraohgaki's avatar
akiraohgaki committed

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 qtlib