UpdateInfo UpdateInfo::parseElement( const QDomElement &element, bool *ok ) { if ( element.tagName() != QLatin1String("owncloudclient") ) { qCritical() << "Expected 'owncloudclient', got '" << element.tagName() << "'."; if ( ok ) *ok = false; return UpdateInfo(); } UpdateInfo result = UpdateInfo(); QDomNode n; for( n = element.firstChild(); !n.isNull(); n = n.nextSibling() ) { QDomElement e = n.toElement(); if ( e.tagName() == QLatin1String("version") ) { result.setVersion( e.text() ); } else if ( e.tagName() == QLatin1String("versionstring") ) { result.setVersionString( e.text() ); } else if ( e.tagName() == QLatin1String("web") ) { result.setWeb( e.text() ); } else if ( e.tagName() == QLatin1String("downloadurl") ) { result.setDownloadUrl( e.text() ); } } if ( ok ) *ok = true; return result; }