EveSkillTraining::EveSkillTraining(QObject *parent) :
QObject(parent),
training(false),
- typeId(0),
- startSkillpoints(0),
- destSkillpoints(0),
- level(0),
m_character(NULL),
m_account(NULL),
m_reply(NULL)
if (xml.name() != "eveapi")
return false;
xml.readNextStartElement();
- if (xml.name() != "currentTime")
+ if (xml.name() != "currentTime") {
return false;
+ }
- xml.readNextStartElement(); // end currentTime element
+ currentTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");
+ //xml.readNextStartElement(); // end currentTime element
bool inResult = xml.readNextStartElement(); // start result element
if (xml.name() != "result") {
qDebug() << "Wrong element:" << xml.name();
return false;
}
inResult = xml.readNextStartElement();
+ if (!inResult || xml.name() != "rowset" ) {
+ qDebug() << "No rowset element";
+ return false;
+ }
+ inResult = xml.readNextStartElement();
while (inResult) {
- qDebug() << "element:" << xml.name();
- if (xml.name() == "trainingEndTime") {
- qDebug() << "Parse end time";
- endTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");//2008-08-17 06:43:00
- startTime.setTimeSpec(Qt::UTC);
- qDebug()<< endTime;
-
- } else if (xml.name() == "trainingStartTime") {
- qDebug() << "Parse start time";
- startTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");//2008-08-17 06:43:00
- startTime.setTimeSpec(Qt::UTC);
- qDebug() << startTime;
-
- } else if (xml.name() == "trainingTypeID") {
- typeId = xml.readElementText().toInt();
+ if (xml.name() == "row") {
+ TrainingEntry entry;
+ entry.typeId = xml.attributes().value("","typeID").toString().toInt();
+ entry.destSkillpoints = xml.attributes().value("","endSP").toString().toInt();
+ entry.startSkillpoints = xml.attributes().value("","startSP").toString().toInt();
+ entry.level = xml.attributes().value("","level").toString().toInt();
+ if (xml.attributes().hasAttribute("","startTime")) {
+ entry.startTime = QDateTime::fromString(xml.attributes().value("","startTime").toString(),
+ "yyyy-MM-dd hh:mm:ss");
+ entry.startTime.setTimeSpec(Qt::UTC);
+ }
+ if (xml.attributes().hasAttribute("","endTime")) {
+ entry.endTime = QDateTime::fromString(xml.attributes().value("","endtTime").toString(),
+ "yyyy-MM-dd hh:mm:ss");
+ entry.endTime.setTimeSpec(Qt::UTC);
+ }
+ m_trainingQueue.append(entry);
- } else if (xml.name() == "trainingStartSP"){
- startSkillpoints = xml.readElementText().toInt();
-
- } else if (xml.name() == "trainingDestinationSP"){
- destSkillpoints = xml.readElementText().toInt();
-
- } else if (xml.name() == "trainingToLevel"){
- level = xml.readElementText().toInt();
- } else if (xml.name() == "skillInTraining" ) {
-
- training = xml.readElementText().toInt() == 1;
- qDebug() << "Training?" << training;
- } else if (xml.name() == "currentTQTime" ) {
- currentTime = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");
- startTime.setTimeSpec(Qt::UTC);
- qDebug() << "Current: " << currentTime;
- } else {
- // Noop
- qDebug() << " Skip this";
- xml.skipCurrentElement();
}
- inResult = xml.readNextStartElement();
-
- } // while
- inResult = xml.readNextStartElement();
+ }
if (xml.name() == "cachedUntil" ) {
cachedUntil = QDateTime::fromString(xml.readElementText(),"yyyy-MM-dd hh:mm:ss");
cachedUntil.setTimeSpec(Qt::UTC);
return;
}
}
- QNetworkRequest req(QUrl(QString("http://api.eveonline.com/char/SkillInTraining.xml.aspx?apiKey=%1&userID=%2&characterID=%3")
+ QNetworkRequest req(QUrl(QString("http://api.eveonline.com/char/SkillQueue.xml.aspx?apiKey=%1&userID=%2&characterID=%3")
.arg(m_account->apiKey())
.arg(m_account->userId())
.arg(m_character->characterId)));