File indexing completed on 2024-05-05 03:48:49
0001 /* 0002 * create a KEduVocDocument from a text file 0003 * SPDX-FileCopyrightText: 2007 Peter Hedlund <peter.hedlund@kdemail.net> 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KEDUVOCCSVREADER_H 0008 #define KEDUVOCCSVREADER_H 0009 0010 #include "keduvocdocument.h" 0011 #include "readerbase.h" 0012 #include <QString> 0013 0014 class QIODevice; 0015 0016 class KEduVocDocument; 0017 0018 /** @brief CSV Reader, the default reader*/ 0019 class KEduVocCsvReader : public ReaderBase 0020 { 0021 public: 0022 /** constructor 0023 @param dev to parse*/ 0024 explicit KEduVocCsvReader(QIODevice &dev); 0025 /** destructor */ 0026 ~KEduVocCsvReader() override{}; 0027 0028 /** @brief CSV can always parse a file 0029 @return true if parsable 0030 */ 0031 bool isParsable() Q_DECL_OVERRIDE 0032 { 0033 return true; 0034 } 0035 0036 /** @brief returns the KEduVocDocument::FileType that this reader handles 0037 @return KEduVocDocument::FileType handled 0038 */ 0039 KEduVocDocument::FileType fileTypeHandled() Q_DECL_OVERRIDE; 0040 0041 /** @brief Parse file and write into doc 0042 @param doc to be written 0043 @return error status of the read.*/ 0044 KEduVocDocument::ErrorCode read(KEduVocDocument &doc) Q_DECL_OVERRIDE; 0045 0046 /** an error message. 0047 @return the error message 0048 */ 0049 QString errorMessage() const Q_DECL_OVERRIDE 0050 { 0051 return m_errorMessage; 0052 } 0053 0054 private: 0055 QIODevice *m_inputFile; ///< input device 0056 KEduVocDocument *m_doc; ///< output doc 0057 QString m_errorMessage; ///< error message 0058 }; 0059 0060 #endif