8#include <dtkcore_global.h>
19 virtual bool load(
const QString &) = 0;
21 virtual QVariant
value(
const QString &,
const QVariant &)
const = 0;
22 virtual void setValue(
const QString &,
const QVariant &) = 0;
23 virtual void reset(
const QString &key) { setValue(key, QVariant());}
24 virtual QString name()
const {
return QString(
"");}
33 Q_PROPERTY(QStringList keyList READ keyList FINAL)
36 explicit DConfig(
const QString &name,
const QString &subpath = QString(),
37 QObject *parent =
nullptr);
40 QObject *parent =
nullptr);
42 static DConfig *
create(
const QString &appId,
const QString &name,
const QString &subpath = QString(),
43 QObject *parent =
nullptr);
45 QObject *parent =
nullptr);
49 QStringList keyList()
const;
52 QVariant
value(
const QString &key,
const QVariant &fallback = QVariant())
const;
53 void setValue(
const QString &key,
const QVariant &value);
60 void valueChanged(
const QString &key);
63 explicit DConfig(
DConfigBackend *backend,
const QString &appId,
const QString &name,
const QString &subpath,
64 QObject *parent =
nullptr);
配置后端的抽象接口。
Definition: dconfig.h:15
virtual ~DConfigBackend()
DConfigBackend析构函数
virtual void setValue(const QString &, const QVariant &)=0
根据配置项名称设置其值
virtual QStringList keyList() const =0
获得所有可用的配置项名称
virtual bool isValid() const =0
判断此后端是否可用
virtual bool load(const QString &)=0
初始化后端
virtual void reset(const QString &key)
设置其配置项对应的默认值,此值为经过override机制覆盖后的值,不一定为此配置文件中meta中定义的值。
Definition: dconfig.h:23
virtual QVariant value(const QString &, const QVariant &) const =0
根据配置项名称获得对应值
配置策略提供的接口类
Definition: dconfig.h:29
void setValue(const QString &key, const QVariant &value)
根据配置项名称设置其值
QString subpath() const
返回配置文件对应的子目录
static DConfig * create(const QString &appId, const QString &name, const QString &subpath=QString(), QObject *parent=nullptr)
构造配置策略提供的对象,指定配置所属的应用Id。
QString backendName() const
配置策略后端名称
QVariant value(const QString &key, const QVariant &fallback=QVariant()) const
根据配置项名称获得对应值
QString name() const
返回配置文件名称
static DConfig * create(DConfigBackend *backend, const QString &appId, const QString &name, const QString &subpath=QString(), QObject *parent=nullptr)
构造配置策略提供的对象,指定配置所属的应用Id。
void reset(const QString &key)
设置其配置项对应的默认值,此值为经过override机制覆盖后的值,不一定为此配置文件中meta中定义的值
bool isValid() const
判断此后端是否可用