File indexing completed on 2024-06-23 05:49:02

0001 /*
0002     This file is part of the Okteta Kasten Framework, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2010, 2011, 2012 Alex Richardson <alex.richardson@gmx.de>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #ifndef KASTEN_SCRIPTFILEPARSER_HPP
0010 #define KASTEN_SCRIPTFILEPARSER_HPP
0011 
0012 #include "abstractstructureparser.hpp"
0013 
0014 #include <QScriptValue>
0015 
0016 class ScriptLogger;
0017 class QScriptEngine;
0018 class DataInformation;
0019 
0020 class ScriptFileParser : public AbstractStructureParser
0021 {
0022 public:
0023     ScriptFileParser(const QString& pluginName, const QString& absolutePath);
0024     ~ScriptFileParser() override;
0025 
0026     QStringList parseStructureNames() const override;
0027     QVector<TopLevelDataInformation*> parseStructures() const override;
0028 
0029 private:
0030     QScriptValue loadScriptValue(ScriptLogger* logger, QScriptEngine* engine) const;
0031 };
0032 
0033 #endif /* KASTEN_SCRIPTFILEPARSER_HPP */