aboutsummaryrefslogtreecommitdiff
path: root/src/kconfig_compiler/KCFGXmlParser.h
diff options
context:
space:
mode:
authorTomaz Canabrava <tcanabrava@kde.org>2020-01-17 10:03:43 +0000
committerTomaz Canabrava <tcanabrava@kde.org>2020-01-17 10:03:43 +0000
commit5f8c2ce63499d05dfb4753eb1acc21dccf21d434 (patch)
treefed718a3c8f4c4974411d612a79c4125ae3fffd8 /src/kconfig_compiler/KCFGXmlParser.h
parent98c32e29f50465d4d4e16bafdf0491edbfb422b0 (diff)
downloadkconfig-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.h82
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