예제 #1
0
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;
}