#include "process/update_dc_command.h" #include "worker.h" #include "utils_internal.h" UpdateDCCommand::UpdateDCCommand(QString const &command, Worker *worker, int nextCommandIndex, int start_timeout, int finish_timeout) : UpdateCommand(command, worker, nextCommandIndex, start_timeout, finish_timeout) { } void UpdateDCCommand::finished(int exitCode, QProcess::ExitStatus exitStatus) { Worker *w = worker(); if (w) { w->summaryTimer()->start(); } return UpdateCommand::finished(exitCode, exitStatus); } void UpdateDCCommand::readyReadStandardOutput() { QProcess *p = (QProcess *)sender(); if (p) { Worker *w = worker(); if (w) { QString s = p->readAllStandardOutput(); int i = -1; if ((i = s.indexOf("")) != -1) { s = s.mid(i+12).trimmed(); if ((i = s.indexOf("\"")) != -1) { s = s.mid(i+1); if ((i = s.indexOf("\"")) != -1) { s = s.mid(0, i).trimmed(); } } // emit w->showDcDownload(s); } else if ((i = s.indexOf("")) != -1) { bool ok; int v = s.mid(i+13).trimmed().toInt(&ok); if (ok) { emit w->setDcDownloadProgress(v); emit w->insertText(s.mid(0,i) + "\n"); } } else if ((i = s.indexOf("")) != -1) { emit w->showUpdateDCFirmware(internal::UPDATE_DC_FIRMARE_SUCCESS); // QThread::sleep(3); // emit w->summary(); // qApp->exit(0); } else if ((i = s.indexOf("")) != -1) { // TODO emit w->summary(); } else if ((i = s.indexOf("")) != -1) { emit w->summary(); //qApp->exit(-1); } else { emit w->insertText(s); } m_commandResult += s; } } }