diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2020-01-17 10:03:43 +0000 |
---|---|---|
committer | Tomaz Canabrava <tcanabrava@kde.org> | 2020-01-17 10:03:43 +0000 |
commit | 5f8c2ce63499d05dfb4753eb1acc21dccf21d434 (patch) | |
tree | fed718a3c8f4c4974411d612a79c4125ae3fffd8 /src/kconfig_compiler/KCFGXmlParser.h | |
parent | 98c32e29f50465d4d4e16bafdf0491edbfb422b0 (diff) | |
download | kconfig-5f8c2ce63499d05dfb4753eb1acc21dccf21d434.tar.gz kconfig-5f8c2ce63499d05dfb4753eb1acc21dccf21d434.tar.bz2 |
Revert "WIP: Refactor KConfigXT"
This reverts commit 98c32e29f50465d4d4e16bafdf0491edbfb422b0.
This broke kdevelop and kmymoney. I'm workin on the fixes and more
unittests for them.
Diffstat (limited to 'src/kconfig_compiler/KCFGXmlParser.h')
-rw-r--r-- | src/kconfig_compiler/KCFGXmlParser.h | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/kconfig_compiler/KCFGXmlParser.h b/src/kconfig_compiler/KCFGXmlParser.h deleted file mode 100644 index 8c85d878..00000000 --- a/src/kconfig_compiler/KCFGXmlParser.h +++ /dev/null @@ -1,82 +0,0 @@ -/* This file is part of the KDE libraries - Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> - Copyright (c) 2003 Waldo Bastian <bastian@kde.org> - Copyright (c) 2003 Zack Rusin <zack@kde.org> - Copyright (c) 2006 Michaƫl Larouche <michael.larouche@kdemail.net> - Copyright (c) 2008 Allen Winter <winter@kde.org> - Copyright (C) 2020 Tomaz Cananbrava (tcanabrava@kde.org) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef KCFGXMLPARSER_H -#define KCFGXMLPARSER_H - -#include <QDomDocument> -#include <QString> -#include <QRegularExpression> - -#include "KConfigCommonStructs.h" -#include "KConfigXTParameters.h" - -/* This parses the contents of a Xml file into a ParseResult Structure, - * It also fails hard: - * If start() succeeds, you can use the result, - * if start() fails, the program aborts with an error message so there's - * no possibility of generating incorrect code information. - */ -class KCFGXmlParser { -public: - KCFGXmlParser(const KConfigXTParameters &cfg, const QString& inputFileName); - - // Start the parser and reads the contents of the inputFileName into the ParseResult Structure - void start(); - - // Get the result of the parse - ParseResult getParseResult() const; - -private: - // creates a `somethingChanged` signal for every property - void createChangedSignal(CfgEntry &readEntry); - - void validateNameAndKey(CfgEntry &readEntry, const QDomElement &element); - - // TODO: Use std::optional and CfgEntry (without heap allocation) for this function - // *or* fail hard if the parse fails. - CfgEntry *parseEntry(const QString &group, const QDomElement &element); - - // Steps - void readIncludeTag(const QDomElement &element); - void readGroupTag(const QDomElement &element); - void readKcfgfileTag(const QDomElement &element); - void readSignalTag(const QDomElement &element); - - // Those are the Entries in the Xml, that represent a parameter within the <group> </group> tag. - void readParameterFromEntry(CfgEntry &entry, const QDomElement &element); - bool hasDefaultCode(CfgEntry &entry, const QDomElement &element); - void readChoicesFromEntry(CfgEntry &entry, const QDomElement &element); - void readGroupElements(CfgEntry &entry, const QDomElement &element); - void readParamDefaultValues(CfgEntry &entry, const QDomElement &element); - -private: - ParseResult mParseResult; - KConfigXTParameters cfg; - QString mInputFileName; - QStringList mAllNames; - QRegularExpression mValidNameRegexp; -}; - -#endif |