From 5f8c2ce63499d05dfb4753eb1acc21dccf21d434 Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Fri, 17 Jan 2020 10:03:43 +0000 Subject: Revert "WIP: Refactor KConfigXT" This reverts commit 98c32e29f50465d4d4e16bafdf0491edbfb422b0. This broke kdevelop and kmymoney. I'm workin on the fixes and more unittests for them. --- src/kconfig_compiler/KCFGXmlParser.h | 82 ------------------------------------ 1 file changed, 82 deletions(-) delete mode 100644 src/kconfig_compiler/KCFGXmlParser.h (limited to 'src/kconfig_compiler/KCFGXmlParser.h') 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 - Copyright (c) 2003 Waldo Bastian - Copyright (c) 2003 Zack Rusin - Copyright (c) 2006 Michaƫl Larouche - Copyright (c) 2008 Allen Winter - 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 -#include -#include - -#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 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 -- cgit v1.2.1