1 /*
2     This file is part of KDE.
3 
4     SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
5     SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
6     SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
7     SPDX-FileCopyrightText: 2006 Michaël Larouche <michael.larouche@kdemail.net>
8     SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
9     SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
10 
11     SPDX-License-Identifier: LGPL-2.0-or-later
12 */
13 
14 #ifndef KCONFIGXTPARAMETERS_H
15 #define KCONFIGXTPARAMETERS_H
16 
17 #include <QSettings>
18 #include <QString>
19 #include <QStringList>
20 
21 /**
22    Configuration Compiler Configuration
23 */
24 class KConfigParameters
25 {
26 public:
27     KConfigParameters(const QString &codegenFilename);
28 
29 public:
30     enum TranslationSystem {
31         QtTranslation,
32         KdeTranslation,
33     };
34 
35     // These are read from the .kcfgc configuration file
36     QString nameSpace; // The namespace for the class to be generated
37     QString className; // The class name to be generated
38     QString inherits; // The class the generated class inherits (if empty, from KConfigSkeleton)
39     QString visibility;
40     bool parentInConstructor; // The class has the optional parent parameter in its constructor
41     bool forceStringFilename;
42     bool singleton; // The class will be a singleton
43     bool staticAccessors; // provide or not static accessors
44     bool customAddons;
45     QString memberVariables;
46     QStringList headerIncludes;
47     QStringList sourceIncludes;
48     QStringList mutators;
49     QStringList defaultGetters;
50     QStringList notifiers;
51     QString qCategoryLoggingName;
52     QString headerExtension;
53     QString sourceExtension;
54     bool allMutators;
55     bool setUserTexts;
56     bool allDefaultGetters;
57     bool dpointer;
58     bool globalEnums;
59     bool useEnumTypes;
60     bool itemAccessors;
61     bool allNotifiers;
62     TranslationSystem translationSystem;
63     QString translationDomain;
64     bool generateProperties;
65     QString baseName;
66 };
67 
68 #endif
69