/* This file is part of KDE. SPDX-FileCopyrightText: 2003 Cornelius Schumacher SPDX-FileCopyrightText: 2003 Waldo Bastian SPDX-FileCopyrightText: 2003 Zack Rusin SPDX-FileCopyrightText: 2006 MichaĆ«l Larouche SPDX-FileCopyrightText: 2008 Allen Winter SPDX-FileCopyrightText: 2020 Tomaz Cananbrava SPDX-License-Identifier: LGPL-2.0-or-later */ #ifndef KCONFIGHEADERGENERATOR_H #define KCONFIGHEADERGENERATOR_H #include "KConfigCodeGeneratorBase.h" #include "KConfigCommonStructs.h" #include #include class KConfigParameters; class CfgEntry; class QTextStream; struct ParseResult; class KConfigHeaderGenerator : public KConfigCodeGeneratorBase { public: KConfigHeaderGenerator(const QString &inputFile, const QString &baseDir, const KConfigParameters ¶meters, ParseResult &parseResult); void start() override; private: void startHeaderGuards(); void endHeaderGuards(); void implementEnums(); void implementChoiceEnums(const CfgEntry *entry, const CfgEntry::Choices &choices); void implementValueEnums(const CfgEntry *entry, const QStringList &values); void doClassDefinition(); void createHeaders(); void createDPointer(); void createNonDPointerHelpers(); void createConstructor(); void createDestructor(); void createForwardDeclarations(); void createSingleton(); void createSignals(); void createSetters(const CfgEntry *entry); void createItemAcessors(const CfgEntry *entry, const QString &returnType); void createGetters(const CfgEntry *entry, const QString &returnType); void createImmutableGetters(const CfgEntry *entry); void createProperties(const CfgEntry *entry, const QString &returnType); void createImmutableProperty(const CfgEntry *entry); void createDefaultValueMember(const CfgEntry *entry); }; #endif