File indexing completed on 2024-05-12 03:47:46
0001 /* 0002 File : XmlStreamReader.h 0003 Project : LabPlot 0004 Description : XML stream parser that supports errors and warnings 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2009 Tilman Benkert <thzs@gmx.net> 0007 SPDX-FileCopyrightText: 2015-2016 Alexander Semke <alexander.semke@web.de> 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 0012 #ifndef XML_STREAM_READER_H 0013 #define XML_STREAM_READER_H 0014 0015 #include <QXmlStreamReader> 0016 0017 class QString; 0018 0019 class XmlStreamReader : public QXmlStreamReader { 0020 public: 0021 XmlStreamReader(); 0022 explicit XmlStreamReader(QIODevice* device); 0023 explicit XmlStreamReader(const QByteArray& data); 0024 explicit XmlStreamReader(const QString& data); 0025 explicit XmlStreamReader(const char* data); 0026 0027 const QStringList& warningStrings() const; 0028 QString missingCASWarning() const; 0029 0030 bool hasWarnings() const; 0031 bool hasMissingCASWarnings() const; 0032 0033 void setFailedCASMissing(bool); 0034 bool failedCASMissing() const; 0035 0036 void raiseWarning(const QString&); 0037 void raiseMissingAttributeWarning(const QString&); 0038 void raiseUnknownElementWarning(); 0039 void raiseMissingCASWarning(const QString&); 0040 void raiseError(const QString&); 0041 0042 bool skipToNextTag(); 0043 bool skipToEndElement(); 0044 int readAttributeInt(const QString& name, bool* ok); 0045 0046 private: 0047 QStringList m_warnings; 0048 QStringList m_missingCASPlugins; 0049 bool m_failedCASMissing{false}; 0050 void init(); 0051 }; 0052 0053 #endif // XML_STREAM_READER_H