File indexing completed on 2024-11-24 04:15:41

0001 /*
0002     SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KOSMINDOORMAP_MAPCSSPARSER_H
0008 #define KOSMINDOORMAP_MAPCSSPARSER_H
0009 
0010 #include "kosmindoormap_export.h"
0011 
0012 #include <memory>
0013 
0014 class QString;
0015 
0016 namespace KOSMIndoorMap {
0017 
0018 class MapCSSParserPrivate;
0019 class MapCSSStyle;
0020 class MapCSSRule;
0021 
0022 /** MapCSS parser. */
0023 class KOSMINDOORMAP_EXPORT MapCSSParser
0024 {
0025 public:
0026     explicit MapCSSParser();
0027     ~MapCSSParser();
0028 
0029     MapCSSStyle parse(const QString &fileName);
0030 
0031     [[nodiscard]] bool hasError() const;
0032     [[nodiscard]] QString fileName() const;
0033     [[nodiscard]] QString errorMessage() const;
0034 
0035 private:
0036     friend class MapCSSParserPrivate;
0037     std::unique_ptr<MapCSSParserPrivate> d;
0038 };
0039 
0040 }
0041 
0042 #endif // KOSMINDOORMAP_MAPCSSPARSER_H