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