File indexing completed on 2024-04-21 03:48:17
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Andreas Xavier <andxav at zoho dot com> 0003 * SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #include "dummyreader.h" 0007 0008 #include <KLocalizedString> 0009 0010 #include <QIODevice> 0011 #include <QXmlStreamWriter> 0012 0013 //@todo These static functions should be defined here. Find the syntax bug. 0014 // QString DummyReader::mTag() 0015 // { 0016 // return QString( "kvocdocdummyreadertestelement" ); 0017 // } 0018 0019 // QString DummyReader::makeErrorTag(KEduVocDocument::ErrorCode err) 0020 // { 0021 // return "errnum-" +QString::number( int( err)); 0022 // } 0023 0024 // QString DummyReader::makeDummyString(KEduVocDocument::ErrorCode error 0025 // , const QString & msg ) 0026 // { 0027 // QString out; 0028 // QXmlStreamWriter stream(&out); 0029 // stream.setAutoFormatting(true); 0030 // stream.writeStartDocument(); 0031 // stream.writeStartElement(mTag()); 0032 // stream.writeTextElement( makeErrorTag(error), msg); 0033 // stream.writeEndElement(); // m_tag 0034 // stream.writeEndDocument(); 0035 // kDebug() << "The file" <<out; 0036 // return out; 0037 // } 0038 0039 DummyReader::DummyReader(QIODevice &dev) 0040 : m_dev(dev) 0041 { 0042 } 0043 0044 bool DummyReader::isParsable() 0045 { 0046 bool isparsable = false; 0047 setDevice(&m_dev); 0048 if (!atEnd()) { 0049 readNextStartElement(); 0050 if (isStartElement()) { 0051 if (name() == mTag()) { 0052 isparsable = true; 0053 } 0054 } 0055 } 0056 m_dev.seek(0); 0057 return isparsable; 0058 } 0059 0060 KEduVocDocument::FileType DummyReader::fileTypeHandled() 0061 { 0062 return KEduVocDocument::KvdNone; 0063 } 0064 0065 KEduVocDocument::ErrorCode DummyReader::read(KEduVocDocument &) 0066 { 0067 setDevice(&m_dev); 0068 if (!atEnd()) { 0069 readNextStartElement(); 0070 if (isStartElement()) { 0071 // kDebug() << "Reading Dummy File is start "<< name() <<" text "<<text(); 0072 if (name() == mTag()) { 0073 readNext(); 0074 readNext(); 0075 // kDebug() << "Reading Dummy File"<<name() << "text" << text(); 0076 if (isStartElement()) { 0077 m_errorMessage = readElementText(); 0078 // kDebug() << "Reading Dummy File is " <<name() <<" with "<<m_errorMessage; 0079 if (makeErrorTag(KEduVocDocument::NoError) == name()) 0080 return KEduVocDocument::NoError; 0081 if (makeErrorTag(KEduVocDocument::Unknown) == name()) 0082 return KEduVocDocument::Unknown; 0083 if (makeErrorTag(KEduVocDocument::InvalidXml) == name()) 0084 return KEduVocDocument::InvalidXml; 0085 if (makeErrorTag(KEduVocDocument::FileTypeUnknown) == name()) 0086 return KEduVocDocument::FileTypeUnknown; 0087 if (makeErrorTag(KEduVocDocument::FileCannotWrite) == name()) 0088 return KEduVocDocument::FileCannotWrite; 0089 if (makeErrorTag(KEduVocDocument::FileWriterFailed) == name()) 0090 return KEduVocDocument::FileWriterFailed; 0091 if (makeErrorTag(KEduVocDocument::FileCannotRead) == name()) 0092 return KEduVocDocument::FileCannotRead; 0093 if (makeErrorTag(KEduVocDocument::FileReaderFailed) == name()) 0094 return KEduVocDocument::FileReaderFailed; 0095 if (makeErrorTag(KEduVocDocument::FileDoesNotExist) == name()) 0096 return KEduVocDocument::FileDoesNotExist; 0097 if (makeErrorTag(KEduVocDocument::FileLocked) == name()) 0098 return KEduVocDocument::FileLocked; 0099 if (makeErrorTag(KEduVocDocument::FileCannotLock) == name()) 0100 return KEduVocDocument::FileCannotLock; 0101 } 0102 } 0103 } 0104 } 0105 return KEduVocDocument::Unknown; 0106 } 0107 0108 QString DummyReader::errorMessage() const 0109 { 0110 return m_errorMessage; 0111 }