1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
void updaterHandler::traitementUpdate()
{
/***************************************************************************
On traite la requete avec QXML
***************************************************************************/
QXmlStreamReader reader; // Objet servant a la navigation
QString fileName = "updater.xml";
QFile file(fileName);
if (!file.open(QFile::ReadOnly | QFile::Text)) // Ouverture du fichier XML en lecture seule et en mode texte
{
QMessageBox::warning(0, tr("Erreur lors de l'ouvertur du fichier de mise à jour"), tr("Impossible de lire le fichier <strong>%1</strong> à partir du serveur !").arg(fileName));
return;
}
reader.setDevice(&file); // Initialise l'instance reader avec le flux XML venant de file
//Le but de cette boucle est de parcourir le fichier et de verifier si l'on est au debut d'un element.
reader.readNext();
while (!reader.atEnd())
{
if (reader.isStartElement())
{
if (reader.name() == "mise_a_jour")
{
reader.readNext(); // On va au prochain token
// Tant que celui-ci n'est pas un element de depart on avance au token suivant
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "supprimer")
{
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "fichier")
{
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "titre")
{
QString supprimer_titre = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ supprimer_titre +tr("</strong>"));
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
}
if(reader.name() == "chemin")
{
QString supprimer_chemin = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ supprimer_chemin +tr("</strong>"));
}
}
}
}
if(reader.name() == "renommer")
{
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "fichier")
{
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "titre")
{
QString renommer_titre = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ renommer_titre +tr("</strong>"));
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
}
if(reader.name() == "new_titre")
{
QString renommer_new_titre = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ renommer_new_titre +tr("</strong>"));
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
}
if(reader.name() == "chemin")
{
QString renommer_chemin = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ renommer_chemin +tr("</strong>"));
}
}
}
if(reader.name() == "installer")
{
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "fichier")
{
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
if(reader.name() == "titre")
{
QString installer_titre = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ installer_titre +tr("</strong>"));
reader.readNext();
while(reader.isStartElement() == false)
reader.readNext();
}
if(reader.name() == "chemin")
{
QString installer_chemin = reader.readElementText();
QMessageBox::information(0, tr("Lecture du fichier"), tr("valeur de la balise : <strong>")+ installer_chemin +tr("</strong>"));
}
}
}
else
{
QString balise_inconnu = reader.name().toString();
QString valeur_inconnu = "a faire";
QMessageBox::information(0, tr("Erreur de lecture"), tr("Balise inconnu détécté !<br />Nom de la balise : <strong>")+ balise_inconnu +tr("</strong> / Valeur de la balise : <strong>")+ valeur_inconnu +tr("</strong><br />Code erreur : 1"));
}
}
reader.readNext(); // On va au prochain token
}
if(reader.hasError())
{
QMessageBox::warning(0, tr("Erreur de lecture"), tr("Une erreur est survenu pendant la lecture du fichier de mise à jour !<br />Lancer de nouveau la mise à jour.<br />Code erreur : 2"));
}
file.close();
} |
Partager