34    Q_PROPERTY(QStringList keyList READ keyList CONSTANT FINAL)
 
   37    explicit 
DConfig(const QString &name, const QString &subpath = QString(),
 
   38                     QObject *parent = 
nullptr);
 
   41                     QObject *parent = 
nullptr);
 
   43    static 
DConfig *create(const QString &appId, const QString &name, const QString &subpath = QString(),
 
   44                           QObject *parent = 
nullptr);
 
   45    static 
DConfig *create(
DConfigBackend *backend, const QString &appId, const QString &name, const QString &subpath = QString(),
 
   46                                  QObject *parent = 
nullptr);
 
   47    static 
DConfig *createGeneric(const QString &name, const QString &subpath = QString(),
 
   48                                  QObject *parent = 
nullptr);
 
   50                                  QObject *parent = 
nullptr);
 
   52    static 
void setAppId(const QString &appId);
 
   53    static QThread *globalThread();
 
   55    QString backendName() const;
 
   57    QStringList keyList() const;
 
   60    bool isDefaultValue(const QString &key) const;
 
   61    QVariant value(const QString &key, const QVariant &fallback = QVariant()) const;
 
   62    void setValue(const QString &key, const QVariant &value);
 
   63    void reset(const QString &key);
 
   66    QString subpath() const;
 
   69    void valueChanged(const QString &key);
 
   72    explicit 
DConfig(
DConfigBackend *backend, const QString &appId, const QString &name, const QString &subpath,
 
   73                     QObject *parent = 
nullptr);