@@ -250,7 +250,9 @@ int main(int argc, char *argv[]) {
250
250
<< " Q_CLASSINFO(\" DConfigFileVersion\" , \" " << version <<" \" )\n\n "
251
251
<< " public:\n "
252
252
<< " explicit " << className
253
- << R"( (QThread *thread, DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &name, const QString &appId, const QString &subpath, QObject *parent)
253
+ << R"( (QThread *thread, DTK_CORE_NAMESPACE::DConfigBackend *backend,
254
+ const QString &name, const QString &appId, const QString &subpath,
255
+ bool isGeneric, QObject *parent)
254
256
: QObject(parent) {
255
257
if (!thread->isRunning()) {
256
258
qWarning() << QLatin1String("Warning: The provided thread is not running.");
@@ -260,19 +262,27 @@ int main(int argc, char *argv[]) {
260
262
worker->moveToThread(thread);
261
263
QMetaObject::invokeMethod(worker, [=, this]() {
262
264
DTK_CORE_NAMESPACE::DConfig *config = nullptr;
263
- if (backend) {
264
- if (appId.isNull()) {
265
- config = DTK_CORE_NAMESPACE::DConfig::create(backend, DTK_CORE_NAMESPACE::DSGApplication::id(),
266
- name, subpath, nullptr);
265
+ if (isGeneric) {
266
+ if (backend) {
267
+ config = DTK_CORE_NAMESPACE::DConfig::createGeneric(backend, name, subpath, nullptr);
267
268
} else {
268
- config = DTK_CORE_NAMESPACE::DConfig::create(backend, appId, name, subpath, nullptr);
269
+ config = DTK_CORE_NAMESPACE::DConfig::createGeneric( name, subpath, nullptr);
269
270
}
270
271
} else {
271
- if (appId.isNull()) {
272
- config = DTK_CORE_NAMESPACE::DConfig::create(DTK_CORE_NAMESPACE::DSGApplication::id(),
273
- name, subpath, nullptr);
272
+ if (backend) {
273
+ if (appId.isNull()) {
274
+ config = DTK_CORE_NAMESPACE::DConfig::create(backend, DTK_CORE_NAMESPACE::DSGApplication::id(),
275
+ name, subpath, nullptr);
276
+ } else {
277
+ config = DTK_CORE_NAMESPACE::DConfig::create(backend, appId, name, subpath, nullptr);
278
+ }
274
279
} else {
275
- config = DTK_CORE_NAMESPACE::DConfig::create(appId, name, subpath, nullptr);
280
+ if (appId.isNull()) {
281
+ config = DTK_CORE_NAMESPACE::DConfig::create(DTK_CORE_NAMESPACE::DSGApplication::id(),
282
+ name, subpath, nullptr);
283
+ } else {
284
+ config = DTK_CORE_NAMESPACE::DConfig::create(appId, name, subpath, nullptr);
285
+ }
276
286
}
277
287
}
278
288
if (!config) {
@@ -293,22 +303,43 @@ int main(int argc, char *argv[]) {
293
303
headerStream << " static " << className << " * create(QThread *thread, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
294
304
else
295
305
headerStream << " static " << className << " * create(const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
296
- headerStream << " { return new " << className << " (thread, nullptr, " << jsonFileString << " , appId, subpath, parent); }\n " ;
306
+ headerStream << " { return new " << className << " (thread, nullptr, " << jsonFileString << " , appId, subpath, false, parent); }\n " ;
297
307
if (parser.isSet (forceRequestThread))
298
308
headerStream << " static " << className << " * create(QThread *thread, DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
299
309
else
300
310
headerStream << " static " << className << " * create(DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
301
- headerStream << " { return new " << className << " (thread, backend, " << jsonFileString << " , appId, subpath, parent); }\n " ;
311
+ headerStream << " { return new " << className << " (thread, backend, " << jsonFileString << " , appId, subpath, false, parent); }\n " ;
302
312
if (parser.isSet (forceRequestThread))
303
313
headerStream << " static " << className << " * createByName(QThread *thread, const QString &name, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
304
314
else
305
315
headerStream << " static " << className << " * createByName(const QString &name, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
306
- headerStream << " { return new " << className << " (thread, nullptr, name, appId, subpath, parent); }\n " ;
316
+ headerStream << " { return new " << className << " (thread, nullptr, name, appId, subpath, false, parent); }\n " ;
307
317
if (parser.isSet (forceRequestThread))
308
318
headerStream << " static " << className << " * createByName(QThread *thread, DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &name, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
309
319
else
310
320
headerStream << " static " << className << " * createByName(DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &name, const QString &appId = {}, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
311
- headerStream << " { return new " << className << " (thread, backend, name, appId, subpath, parent); }\n " ;
321
+ headerStream << " { return new " << className << " (thread, backend, name, appId, subpath, false, parent); }\n " ;
322
+
323
+ if (parser.isSet (forceRequestThread))
324
+ headerStream << " static " << className << " * createGeneric(QThread *thread, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
325
+ else
326
+ headerStream << " static " << className << " * createGeneric(const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
327
+ headerStream << " { return new " << className << " (thread, nullptr, " << jsonFileString << " , {}, subpath, true, parent); }\n " ;
328
+ if (parser.isSet (forceRequestThread))
329
+ headerStream << " static " << className << " * create(QThread *thread, DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
330
+ else
331
+ headerStream << " static " << className << " * create(DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
332
+ headerStream << " { return new " << className << " (thread, backend, " << jsonFileString << " , {}, subpath, true, parent); }\n " ;
333
+ if (parser.isSet (forceRequestThread))
334
+ headerStream << " static " << className << " * createGenericByName(QThread *thread, const QString &name, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
335
+ else
336
+ headerStream << " static " << className << " * createGenericByName(const QString &name, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
337
+ headerStream << " { return new " << className << " (thread, nullptr, name, {}, subpath, true, parent); }\n " ;
338
+ if (parser.isSet (forceRequestThread))
339
+ headerStream << " static " << className << " * createGenericByName(QThread *thread, DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &name, const QString &subpath = {}, QObject *parent = nullptr)\n " ;
340
+ else
341
+ headerStream << " static " << className << " * createGenericByName(DTK_CORE_NAMESPACE::DConfigBackend *backend, const QString &name, const QString &subpath = {}, QObject *parent = nullptr, QThread *thread = DTK_CORE_NAMESPACE::DConfig::globalThread())\n " ;
342
+ headerStream << " { return new " << className << " (thread, backend, name, {}, subpath, true, parent); }\n " ;
312
343
313
344
// Destructor
314
345
headerStream << " ~" << className << R"( () {
0 commit comments