void GdalAdapter::fromXML(QXmlStreamReader& stream) { theBbox = QRectF(); theImages.clear(); while(!stream.atEnd() && !stream.isEndElement()) { if (stream.name() == "Images") { if (stream.attributes().hasAttribute("projection")) theProjection = stream.attributes().value("projection").toString(); if (stream.attributes().hasAttribute("source")) theSourceTag = stream.attributes().value("source").toString(); stream.readNext(); while(!stream.atEnd() && !stream.isEndElement()) { if (stream.name() == "Image") { QString fn = stream.attributes().value("filename").toString(); if (!fn.isEmpty()) loadImage(fn); stream.readNext(); } else if (!stream.isWhitespace()) { qDebug() << "gdalimage: logic error: " << stream.name() << " : " << stream.tokenType() << " (" << stream.lineNumber() << ")"; stream.skipCurrentElement(); } stream.readNext(); } } else if (!stream.isWhitespace()) { qDebug() << "gdalmain: logic error: " << stream.name() << " : " << stream.tokenType() << " (" << stream.lineNumber() << ")"; stream.skipCurrentElement(); } stream.readNext(); } }
bool ZtTable::loadXml(QXmlStreamReader &reader) { bool flag0=false; cleanAll(); if(reader.isEndElement()) return false; reader.readNext(); while(!reader.isEndElement()) { if(reader.isStartElement()) { if(reader.name()=="Header") { if(flag0) {flag0=false;break;} flag0=true; header=reader.readElementText().trimmed().split(','); reader.readNext(); } else if(reader.name()=="Row") { rows.append(reader.readElementText().trimmed().split(',')); reader.readNext(); } else {cleanAll(); return false;} } else reader.readNext(); } if(flag0) return true; else {cleanAll(); return false;} }
bool DataStr::load(QXmlStreamReader &reader) { if(reader.isEndElement()) return false; reader.readNext(); while(!reader.isEndElement()) { if(reader.isStartElement()) { if(reader.name() == "Group") { Group *p = new Group(); if(p->load(reader)) groups.append(p); else { delete p; cleanAll(); return false; } reader.readNext(); } else { cleanAll(); return false; } } else reader.readNext(); } return true; }
QDebug operator<<(QDebug dbg, const QXmlStreamReader& reader) { dbg.nospace() << "QXmlStreamReader("; if (reader.isStartElement()) { dbg.nospace() << "<"; dbg.nospace() << reader.qualifiedName().toString().toLocal8Bit().constData(); QString attrsString; const QXmlStreamAttributes& attrs = reader.attributes(); for (int i = 0; i < attrs.count(); i++) { dbg.nospace() << " " << attrs[i].qualifiedName().toString().toLocal8Bit().constData(); dbg.nospace() << "="; dbg.nospace() << attrs[i].value().toString(); } if (reader.isEndElement()) { dbg.nospace() << "/>)"; } else { dbg.nospace() << ">)"; } } else if (reader.isEndElement()) { dbg.nospace() << "</" << reader.qualifiedName().toString().toLocal8Bit().constData() << ">)"; } else if (reader.isCharacters()) { dbg.nospace() << "characters:" << reader.text() << ")"; } else if (reader.isComment()) { dbg.nospace() << "<!-- " << reader.text().toString().toLocal8Bit().constData() << " -->)"; } else if (reader.isCDATA()) { dbg.nospace() << "CDATA:" << reader.text() << ")"; } else if (reader.isWhitespace()) { dbg.nospace() << "whitespace:" << reader.text() << ")"; } else { dbg.nospace() << reader.tokenString() << reader.text(); } return dbg.space(); }
void CWidgetPropParser::parseGUIWidgetProperties( QXmlStreamReader &reader, const QString &widgetName ) { reader.readNext(); if( reader.atEnd() ) return; std::map< std::string, SWidgetInfo >::iterator itr = widgetInfo->find( widgetName.toUtf8().constData() ); if( itr == widgetInfo->end() ) return; std::vector< SPropEntry > &v = itr->second.props; while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "properties" ) ) ) { if( reader.isStartElement() && reader.name() == "property" ) { SPropEntry prop; reader.readNext(); while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "property" ) ) ) { if( reader.isStartElement() ) { QString key = reader.name().toString(); QString value = reader.readElementText( QXmlStreamReader::ErrorOnUnexpectedElement ); if( !reader.hasError() ) { if( key == "name" ) prop.propName = value.toUtf8().constData(); else if( key == "type" ) prop.propType = value.toUtf8().constData(); else if( key == "default" ) prop.propDefault = value.toUtf8().constData(); else nlwarning( QString( "Unknown tag %1 within a property" ).arg( key ).toUtf8().constData() ); } else nlwarning( "Malformed XML." ); } reader.readNext(); } if( reader.atEnd() ) return; v.push_back( prop ); } reader.readNext(); } }
CQTs_Class::CQTs_Class(QXmlStreamReader &xml){ spellcaster = false; //trusting this:if(xml.name()=="class"&&xml.isStartElement()) QString code = xml.attributes().value("code").toString(); append(code); Name = code;//in case classnames are not loaded bool bab1=false,bab2=false; int bab = xml.attributes().value("bab").toInt(); if(bab==1) bab1=true; else if(bab==2) bab2=true; bool f = xml.attributes().value("fort").toInt(); bool r = xml.attributes().value("ref").toInt(); bool w = xml.attributes().value("will").toInt(); bool data[5] = {bab1,bab2,f,r,w}; std::copy(data,data+5,info); lmax = xml.attributes().value("lmax").toInt(); QStringList skillList; do{ xml.readNext(); if(xml.name()=="classskills"&&xml.isStartElement()){ do{ xml.readNext(); if(xml.name()=="skill"&&xml.isStartElement()){ QString skillcode = xml.attributes().value("code").toString(); skillList.push_back(skillcode); } }while(!(xml.name()=="classskills"&&xml.isEndElement())); } if(xml.name()=="progression"&&xml.isStartElement()){//load progression DV = xml.attributes().value("dv").toInt(); Ranks = xml.attributes().value("skillpoints").toInt(); do{ xml.readNext(); if(xml.name()=="level"&&xml.isStartElement()){ //spell progression int lv = xml.attributes().value("n").toInt(); if(xml.attributes().hasAttribute("spells")){ spellcaster = true; for (int i = spellNumberList.size(); i < lv-1; ++i) spellNumberList.append("-"); spellNumberList.append(xml.attributes().value("spells").toString()); } } }while(!(xml.name()=="progression"&&xml.isEndElement())); } }while(!(xml.isEndElement()&&xml.name()=="class")); if(skillList.size()>0) setSkills(skillList); }
// Read all current Ranges controls from an XML stream bool US_RunProtocol::RunProtoRanges::fromXml( QXmlStreamReader& xmli ) { nranges = 0; chrngs.clear(); Ranges rng; while( ! xmli.atEnd() ) { QString ename = xmli.name().toString(); if ( xmli.isStartElement() ) { if ( ename == "range" || ename == "spectrum" ) { QXmlStreamAttributes attr = xmli.attributes(); rng.channel = attr.value( "channel" ) .toString(); QString slorad = attr.value( "start_radius" ).toString(); QString shirad = attr.value( "end_radius" ) .toString(); rng.lo_rad = slorad.isEmpty() ? rng.lo_rad : slorad.toDouble(); rng.hi_rad = shirad.isEmpty() ? rng.hi_rad : shirad.toDouble(); rng.wvlens.clear(); } else if ( ename == "wavelength" || ename == "point" ) { QXmlStreamAttributes attr = xmli.attributes(); rng.wvlens << attr.value( "lambda" ).toString().toDouble(); } } else if ( xmli.isEndElement() && ( ename == "range" || ename == "spectrum" ) ) { chrngs << rng; nranges++; } bool was_end = xmli.isEndElement(); // Just read was End of element? xmli.readNext(); // Read the next element if ( was_end ) { if ( ename == "ranges" || // Break after "</ranges>" ename == "spectra" ) // Break after "</spectra>" break; } } return ( ! xmli.hasError() ); }
// Read all current Optical Systems controls from an XML stream bool US_RunProtocol::RunProtoOptics::fromXml( QXmlStreamReader& xmli ) { nochan = 0; chopts.clear(); while( ! xmli.atEnd() ) { QString ename = xmli.name().toString(); if ( xmli.isStartElement() ) { if ( ename == "optical_system" ) { OpticSys os; QXmlStreamAttributes attr = xmli.attributes(); os.channel = attr.value( "channel" ).toString(); os.scan1 = attr.value( "scan1" ).toString(); os.scan2 = attr.value( "scan2" ).toString(); os.scan3 = attr.value( "scan3" ).toString(); chopts << os; nochan++; } } bool was_end = xmli.isEndElement(); // Just read was End of element? xmli.readNext(); // Read the next element if ( was_end && ename == "optics" ) // Break after "</optics>" break; } return ( ! xmli.hasError() ); }
Distance::Distance(QXmlStreamReader &xmlReader) { xmlReader.readNext(); while(!xmlReader.atEnd()) { if (xmlReader.isEndElement()) { xmlReader.readNext(); break; } if (xmlReader.isStartElement()) { if (xmlReader.name() == "dist") { dist = xmlReader.readElementText().toDouble(); xmlReader.readNext(); } else if (xmlReader.name() == "unit") { QString u = xmlReader.readElementText(); if (u == "KM") { unit = KM; } else if (u == "MILE") { unit = MILE; } else { unit = KM; } xmlReader.readNext(); } else { Helper::skipUnknownElements(xmlReader); } } else { xmlReader.readNext(); } } }
KnowledgeBase::Metadata KnowledgeBaseParser::parseMetadata( QXmlStreamReader &xml ) { KnowledgeBase::Metadata meta; meta.status.clear(); meta.message.clear(); meta.totalItems = 0; meta.itemsPerPage = 0; while ( !xml.atEnd() ) { xml.readNext(); if (xml.isStartElement() && xml.name() == "meta") { while ( !xml.atEnd() ) { xml.readNext(); if (xml.isEndElement() && xml.name() == "meta") { break; } else if (xml.isStartElement()) { if (xml.name() == "status") { meta.status = xml.readElementText(); } else if (xml.name() == "message") { meta.message = xml.readElementText(); } else if (xml.name() == "totalitems") { meta.totalItems = xml.readElementText().toInt(); } else if (xml.name() == "itemsperpage") { meta.itemsPerPage = xml.readElementText().toInt(); } } } break; } } return meta; }
/*! * Считать открывающий тег вершины, создав её или, считать закрывающий тег вершины, в зависимости от положения в потоке * \param[in] xmlStream - покок чтения на вводный XML-файл * \param[in] treeNum - номер дерева, которое считываются * \param[out] newNode - указатель на новую вершину * \return 1 - при считывал открывающий тег и новая вершина создалась * \return -1 - при считывал закрывающий тег * \return 0 - при других случах. */ int readNode(QXmlStreamReader& xmlStream, int treeNum, node*& newNode){ newNode = NULL; QXmlStreamAttributes attr; // 1. Считать тег из потока xmlStream.readNext(); // 2. Если открывающий тег <node> считан, то if (xmlStream.isStartElement()){ // 3.1 Получить атрибуты из тега <node> attr = xmlStream.attributes(); QString value = attr.value("value").toString(); int data = value.toInt(); // 3.2. Если значение атрибута не является цифрой, то выбросить исключение (ошибка EXIST_NOT_NUMBER) if (QString::number(data) != value) throw error(EXISTS_NOT_NUMBER, treeNum == 1 ? 1 : 2, value); // 3.3. Иначе создать новую вершину newNode с цифрой data newNode = new node(data); // 3.4. Вернуть 1 return 1; } else if (xmlStream.isEndElement()) // 4. Если закрывающий тег </node> считан, то вернуть -1 return -1; // 5. Иначе вернуть 0 return 0; }
int CVBAOptions::fromXml(QXmlStreamReader& XmlReader) { /* Emulator-spezifische Optionen einlesen */ while(!XmlReader.atEnd()) { XmlReader.readNext(); if(XmlReader.isStartElement()) { if(XmlReader.qualifiedName().toString()=="commandline") { // Befehlszeile this->setEmuCommand(XmlReader.readElementText()); } else if(XmlReader.qualifiedName().toString()=="fullscreen") { //Vollbildmodus if(XmlReader.readElementText()=="true") this->setFullscreen(true); else this->setFullscreen(false); } else if(XmlReader.qualifiedName().toString()=="scale") { //Fenstervergrößerung this->setScale(XmlReader.readElementText().toShort()); } } else if(XmlReader.isEndElement() && XmlReader.qualifiedName().toString()=="options") { /* Abbruch, wenn Optionen zu Ende sind */ break; // Ende der Optionenliste erreicht } } return 0; }
void QgsOSMXmlImport::readRoot( QXmlStreamReader& xml ) { int i = 0; int percent = -1; while ( !xml.atEnd() ) { xml.readNext(); if ( xml.isEndElement() ) // </osm> break; if ( xml.isStartElement() ) { if ( ++i == 500 ) { int new_percent = 100 * mInputFile.pos() / mInputFile.size(); if ( new_percent > percent ) { emit progress( new_percent ); percent = new_percent; } i = 0; } if ( xml.name() == "node" ) readNode( xml ); else if ( xml.name() == "way" ) readWay( xml ); else xml.skipCurrentElement(); } } }
Integrator XMLReader::LoadIntegrator(QXmlStreamReader &xml_reader) { Integrator result; //First check what type of integrator we're supposed to load QXmlStreamAttributes attribs(xml_reader.attributes()); QStringRef type = attribs.value(QString(), QString("type")); bool is_mesh = false; while(!xml_reader.isEndElement() || QStringRef::compare(xml_reader.name(), QString("integrator")) != 0) { xml_reader.readNext(); QString tag(xml_reader.name().toString()); if(is_mesh && QString::compare(tag, QString("maxDepth")) == 0) { xml_reader.readNext(); if(xml_reader.isCharacters()) { result.SetDepth(xml_reader.text().toInt()); } xml_reader.readNext(); } } return result; }
void LinNativeDisplayForm::parseRSSChannel( QXmlStreamReader &textReader) { QString htmlOutput = htmlPrefix; while (!textReader.atEnd()) { textReader.readNext(); if (textReader.isStartElement()) { if (textReader.name() == "item") { parseRSSItem(htmlOutput, textReader); } } else if (textReader.isEndElement()) { if (textReader.name() == "channel") { htmlOutput +=" </body>\n</html>"; setHtml(htmlOutput, sourceUrl); break; } } } }
Forum Forum::Parser::parseXml(QXmlStreamReader &xml) { Forum forum; while (!xml.atEnd()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == QLatin1String("id")) { forum.setId(xml.readElementText()); } else if (xml.name() == QLatin1String("name")) { forum.setName(xml.readElementText()); } else if (xml.name() == QLatin1String("description")) { forum.setDescription(xml.readElementText()); } else if (xml.name() == QLatin1String("date")) { forum.setDate(Utils::parseQtDateTimeIso8601(xml.readElementText())); } else if (xml.name() == QLatin1String("icon")) { forum.setIcon(QUrl(xml.readElementText())); } else if (xml.name() == QLatin1String("childcount")) { forum.setChildCount(xml.readElementText().toInt()); } else if (xml.name() == QLatin1String("children")) { QList<Forum> children = parseXmlChildren(xml); forum.setChildren(children); } else if (xml.name() == QLatin1String("topics")) { forum.setTopics(xml.readElementText().toInt()); } } else if (xml.isEndElement() && xml.name() == QLatin1String("forum")) { break; } } return forum; }
CQTs_Race::CQTs_Race(QXmlStreamReader &xml){ SPbonus=0; for (int i = 0; i < 6; abilities[i++]=0); //trusting this:if(xml.name()=="race"&&xml.isStartElement()) QString code = xml.attributes().value("code").toString(); append(code); Name = code;//in case racenames are not loaded do{ xml.readNext(); if(xml.name()=="trait"&&xml.isStartElement()){ QString whattodo = xml.attributes().value("code").toString(); if(whattodo == "BonusSP"){ SPbonus = xml.readElementText().toInt(); }else if(whattodo == "BonusStat"){ QString which = xml.attributes().value("which").toString(); if(which=="STR") abilities[0] = xml.readElementText().toInt(); else if(which=="DEX") abilities[1] = xml.readElementText().toInt(); else if(which=="CON") abilities[2] = xml.readElementText().toInt(); else if(which=="INT") abilities[3] = xml.readElementText().toInt(); else if(which=="WIS") abilities[4] = xml.readElementText().toInt(); else if(which=="CHA") abilities[5] = xml.readElementText().toInt(); } } }while(!(xml.isEndElement()&&xml.name()=="race")); }
bool OsmAnd::MapStyle_P::parseMetadata( QXmlStreamReader& xmlReader ) { while (!xmlReader.atEnd() && !xmlReader.hasError()) { xmlReader.readNext(); const auto tagName = xmlReader.name(); if (xmlReader.isStartElement()) { if (tagName == QLatin1String("renderingStyle")) { _title = xmlReader.attributes().value(QLatin1String("name")).toString(); auto attrDepends = xmlReader.attributes().value(QLatin1String("depends")); if(!attrDepends.isNull()) _parentName = attrDepends.toString(); } } else if (xmlReader.isEndElement()) { } } if(xmlReader.hasError()) { std::cerr << qPrintable(xmlReader.errorString()) << "(" << xmlReader.lineNumber() << ", " << xmlReader.columnNumber() << ")" << std::endl; return false; } return true; }
/*! * \brief Parse and show the output from git-log * * We parse the output from previous git-log, and * then show the result in a QListWidget. The hash from * git log is not shown, but is used later to allow the * user to select an item, an recover that point in * history. */ void GitManager::slotUpdateHistory() { QString data = "<gitHistory>\n"; data.append(gitProcessHistory->readAllStandardOutput()); data.append("\n</gitHistory>"); ui.listHistory->clear(); QXmlStreamReader *reader = new QXmlStreamReader(data.toUtf8()); while(!reader->atEnd()) { reader->readNext(); if(reader->isStartElement() && reader->name() == "commit") { QListWidgetItem *item = new QListWidgetItem(ui.listHistory); while(!reader->isEndElement() || reader->name() != "commit") { reader->readNext(); if(reader->isStartElement() && reader->name() == "msg") { item->setText(reader->readElementText()); } else if(reader->isStartElement() && reader->name() == "hash") { item->setData(Qt::AccessibleDescriptionRole, reader->readElementText()); } } } } }
WeekSchedule::WeekSchedule(QXmlStreamReader &xmlReader) { xmlReader.readNext(); while(!xmlReader.atEnd()) { if (xmlReader.isEndElement()) { xmlReader.readNext(); break; } if (xmlReader.isStartElement()) { if (xmlReader.name() == "week") { Week w(xmlReader); week = w; } else if (xmlReader.name() == "dayschedule") { DaySchedule* ds = new DaySchedule(xmlReader); days.push_back(QSharedPointer<DaySchedule>(ds)); } else { Helper::skipUnknownElements(xmlReader); } } else { xmlReader.readNext(); } } summary = QSharedPointer<WeekSummary>(new WeekSummary()); summary->setDays(&days); summary->update(); createConnections(); }
void FluidLauncher::parseDemos(QXmlStreamReader& reader) { while (!reader.atEnd()) { reader.readNext(); if (reader.isStartElement() && reader.name() == "example") { QXmlStreamAttributes attrs = reader.attributes(); QStringRef filename = attrs.value("filename"); if (!filename.isEmpty()) { QStringRef name = attrs.value("name"); QStringRef image = attrs.value("image"); QStringRef args = attrs.value("args"); QStringRef idpocket = attrs.value("idpocket"); QStringRef desc = attrs.value("desc"); Launcher* newDemo = new Launcher( idpocket.toString(), filename.toString(), name.isEmpty() ? "Unnamed Demo" : name.toString(), image.toString(), args.toString().split(" "), desc.toString()); demoList.append(newDemo); } } else if(reader.isEndElement() && reader.name() == "demos") { return; } } }
void PumpSpreadsheet::readTransactionElement(QXmlStreamReader &reader) { QMap<QString, QString> map; reader.readNext(); while (!reader.atEnd()) { if (reader.isEndElement()) { reader.readNext(); break; } if (reader.isStartElement()) { QString key = reader.name().toString(); map.insert(key, reader.readElementText()); } reader.readNext(); } QStringList fields; fields << map.value("date") << map.value("time") << map.value("pump") << map.value("company") << map.value("user") << map.value("quantity") << map.value("status"); addItem(fields); }
RemoteAccount RemoteAccount::Parser::parseXml(QXmlStreamReader& xml) { RemoteAccount remoteaccount; // For specs about the XML provided, see here: // http://www.freedesktop.org/wiki/Specifications/open-collaboration-services-draft#RemoteAccounts while (!xml.atEnd()) { //qDebug() << "XML returned:" << xml.text().toString(); xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "id") { remoteaccount.setId(xml.readElementText()); } else if (xml.name() == "type") { remoteaccount.setType(xml.readElementText()); } else if (xml.name() == "typeid") { // FIXME: change to remoteserviceid sometime soon (OCS API change pending remoteaccount.setRemoteServiceId(xml.readElementText()); } else if (xml.name() == "data") { remoteaccount.setData(xml.readElementText()); } else if (xml.name() == "login") { remoteaccount.setLogin(xml.readElementText()); } else if (xml.name() == "password") { remoteaccount.setPassword(xml.readElementText()); } } else if (xml.isEndElement() && (xml.name() == "remoteaccount" || xml.name() == "user")) { break; } } return remoteaccount; }
QString LinNativeDisplayForm::parseText( QString elementName, QXmlStreamReader &textReader) { QString textString; while (!textReader.atEnd()) { textReader.readNext(); if (textReader.isEndElement()) { if (textReader.name() == elementName) { return textString; } else { textString.append(textReader.text().toString()); } } else { textString.append(textReader.text().toString()); } } return textString; }
void GlobStore::readData(QXmlStreamReader& xml) { int tmp; while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.name() == "timeMode") { tmp =xml.readElementText().toInt(); timeModeBox->setCurrentIndex(tmp); updateTimeModeBox(tmp); } else if (xml.name() == "switchAtBeat") { tmp =xml.readElementText().toInt(); switchAtBeatBox->setCurrentIndex(tmp); updateSwitchAtBeat(tmp); } else if (xml.name() == "timeModule") { tmp =xml.readElementText().toInt(); if (tmp > -1) timeModuleBox->setCurrentIndex(tmp); updateTimeModule(tmp); } else if (xml.isStartElement() && (xml.name() == "midiControllers")) { midiControl->readData(xml); } else skipXmlElement(xml); } modified = false; }
void MetaInfoParser::handleMetaInfoElement(QXmlStreamReader &reader) { while (!reader.atEnd() && !(reader.isEndElement() && reader.name() == "metainfo")) { reader.readNext(); metaInfoHandler(reader); } }
bool CProjectFileParser::parseMapFiles( QXmlStreamReader &reader ) { while( !reader.atEnd() && !( reader.isStartElement() && reader.name() == "mapfiles" ) ) reader.readNext(); if( reader.atEnd() ) return false; while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "mapfiles" ) ) ) { if( reader.isStartElement() && ( reader.name() == "file" ) ) { QString fileName = reader.readElementText( QXmlStreamReader::ErrorOnUnexpectedElement ); if( fileName.isEmpty() ) return false; files.mapFiles.push_back( fileName.toUtf8().constData() ); } reader.readNext(); } if( files.mapFiles.empty() ) return false; return true; }
Question XmlUtil::parseIdentificationQuestion(QXmlStreamReader &reader) { assert(reader.name() == "identification"); const QXmlStreamAttributes &attrs = reader.attributes(); Question q; q.type = Question::IDENTIFICATION; optional_assign(attrs, "score", q.score, reader); optional_assign(attrs, "time_limit", q.time_limit, reader); optional_assign(attrs, "id", q.id, reader); while ( !reader.atEnd() ) { reader.readNext(); { const QStringRef &ns = reader.namespaceUri(); if ( !ns.isEmpty() && ns != XML_NS ) continue; } if ( reader.isStartElement() ) { if ( reader.name() == "q" ) { q.question = reader.readElementText(); } else if ( reader.name() == "a" ) { QString answer = reader.readElementText(); q.answer_key.push_back(Question::AnswerKeyEntry(answer, true)); q.answer.append(answer+" - "); } else if ( reader.name() == "identification" ) { throw InvalidXmlException("'identification' tag found inside 'identification'.", reader); } else { //barf? } } else if ( reader.isEndElement() && reader.name() == "identification" ) break; } return q; }
void SyncMLExt::processElement( QXmlStreamReader& aReader, SyncMLCmdObject* aParent ) { FUNCTION_CALL_TRACE; SyncMLCmdObject* obj = new SyncMLCmdObject( aReader.name().toString() ); while( !aReader.atEnd() ) { aReader.readNext(); if( aReader.isStartElement() ) { processElement( aReader, obj ); } else if( aReader.isCharacters() ) { obj->setValue( aReader.text().toString().simplified() ); } else if( aReader.isEndElement() ) { break; } } aParent->addChild( obj ); }
DataObjectPtr EventMonitorFactory::generateObject(ObjectStore *store, QXmlStreamReader& xml) { Q_ASSERT(store); QString equation, description, emailRecipients, script; bool logDebug=false, logEmail=false, logELOG=false; int logLevel=1; while (!xml.atEnd()) { const QString n = xml.name().toString(); if (xml.isStartElement()) { if (n == EventMonitorEntry::staticTypeTag) { QXmlStreamAttributes attrs = xml.attributes(); equation = attrs.value("equation").toString(); description = attrs.value("description").toString(); emailRecipients = attrs.value("emailrecipients").toString(); script = attrs.value("script").toString(); logLevel = attrs.value("loglevel").toString().toInt(); logDebug = attrs.value("logdebug").toString() == "true" ? true : false; logEmail = attrs.value("logemail").toString() == "true" ? true : false; logELOG = attrs.value("logelog").toString() == "true" ? true : false; } else { return 0; } } else if (xml.isEndElement()) { if (n == EventMonitorEntry::staticTypeTag) { break; } else { Debug::self()->log(QObject::tr("Error creating EventMonitorEntry from Kst file."), Debug::Warning); return 0; } } xml.readNext(); } if (xml.hasError()) { return 0; } EventMonitorEntryPtr eventMonitor = store->createObject<EventMonitorEntry>(); Q_ASSERT(eventMonitor); eventMonitor->setScriptCode(script); eventMonitor->setEvent(equation); eventMonitor->setDescription(description); eventMonitor->setLevel((Debug::LogLevel)logLevel); eventMonitor->setLogDebug(logDebug); eventMonitor->setLogEMail(logEmail); eventMonitor->setLogELOG(logELOG); eventMonitor->setEMailRecipients(emailRecipients); eventMonitor->reparse(); eventMonitor->writeLock(); eventMonitor->registerChange(); eventMonitor->unlock(); return eventMonitor; }