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*/
24class KConfigParameters
25{
26public:
27 KConfigParameters(const QString &codegenFilename);
28
29public:
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 kConfigConstructor; // the input config is just a Kconfig and does need to be a KSharedConfig::Ptr
43 bool singleton; // The class will be a singleton
44 bool staticAccessors; // provide or not static accessors
45 bool customAddons;
46 QString memberVariables;
47 QStringList headerIncludes;
48 QStringList sourceIncludes;
49 QStringList mutators;
50 QStringList defaultGetters;
51 QStringList notifiers;
52 QString qCategoryLoggingName;
53 QString headerExtension;
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 bool qmlRegistration;
67 bool qmlUncreatable;
68};
69
70#endif
71

source code of kconfig/src/kconfig_compiler/KConfigParameters.h