24#include <dtkcore_global.h>
35 virtual bool load(
const QString &) = 0;
37 virtual QVariant
value(
const QString &,
const QVariant &)
const = 0;
38 virtual void setValue(
const QString &,
const QVariant &) = 0;
39 virtual void reset(
const QString &key) { setValue(key, QVariant());}
40 virtual QString
name()
const {
return QString(
"");}
49 Q_PROPERTY(QStringList keyList READ keyList FINAL)
52 explicit DConfig(
const QString &name,
const QString &subpath = QString(),
53 QObject *parent =
nullptr);
56 QObject *parent =
nullptr);
58 static DConfig *create(
const QString &appId,
const QString &name,
const QString &subpath = QString(),
59 QObject *parent =
nullptr);
60 static DConfig *create(
DConfigBackend *backend,
const QString &appId,
const QString &name,
const QString &subpath = QString(),
61 QObject *parent =
nullptr);
63 QString backendName()
const;
65 QStringList keyList()
const;
68 QVariant value(
const QString &key,
const QVariant &fallback = QVariant())
const;
69 void setValue(
const QString &key,
const QVariant &value);
70 void reset(
const QString &key);
73 QString subpath()
const;
76 void valueChanged(
const QString &key);
79 explicit DConfig(
DConfigBackend *backend,
const QString &appId,
const QString &name,
const QString &subpath,
80 QObject *parent =
nullptr);
配置后端的抽象接口.
Definition: dconfig.h:31
virtual QString name() const
后端配置的唯一标识
Definition: dconfig.h:40
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)
Definition: dconfig.h:39
virtual QVariant value(const QString &, const QVariant &) const =0
配置策略提供的接口类
Definition: dconfig.h:45
一些宏的定义.
Definition: dobject.h:38