readyReadStandardOutput():
parse outout of ATBUpdateDC.
This commit is contained in:
		@@ -21,13 +21,45 @@ void UpdateDCCommand::finished(int exitCode, QProcess::ExitStatus exitStatus) {
 | 
				
			|||||||
void UpdateDCCommand::readyReadStandardOutput() {
 | 
					void UpdateDCCommand::readyReadStandardOutput() {
 | 
				
			||||||
    QProcess *p = (QProcess *)sender();
 | 
					    QProcess *p = (QProcess *)sender();
 | 
				
			||||||
    if (p) {
 | 
					    if (p) {
 | 
				
			||||||
        QString s = p->readAllStandardOutput();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // TODO
 | 
					 | 
				
			||||||
        Worker *w = worker();
 | 
					        Worker *w = worker();
 | 
				
			||||||
        if (w) {
 | 
					        if (w) {
 | 
				
			||||||
    // static constexpr const char *UPDATE_DC_FIRMARE_SUCCESS"success"};
 | 
					            QString s = p->readAllStandardOutput();
 | 
				
			||||||
            emit w->showUpdateDCFirmware(UpdateCommand::UPDATE_DC_FIRMARE_SUCCESS);
 | 
					            int i = -1;
 | 
				
			||||||
 | 
					            if ((i = s.indexOf("<DC-VERSION>")) != -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("<DC-PROGRESS>")) != -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("<DC-UPDATE-FINISH>")) != -1) {
 | 
				
			||||||
 | 
					                emit w->showUpdateDCFirmware(internal::UPDATE_DC_FIRMARE_SUCCESS);
 | 
				
			||||||
 | 
					                // QThread::sleep(3);
 | 
				
			||||||
 | 
					                // emit w->summary();
 | 
				
			||||||
 | 
					                // qApp->exit(0);
 | 
				
			||||||
 | 
					            } else
 | 
				
			||||||
 | 
					            if ((i = s.indexOf("<DC-UPDATE-SUCCESS>")) != -1) {
 | 
				
			||||||
 | 
					                // TODO
 | 
				
			||||||
 | 
					                emit w->summary();
 | 
				
			||||||
 | 
					            } else
 | 
				
			||||||
 | 
					            if ((i = s.indexOf("<DC-UPDATE-FAILURE>")) != -1) {
 | 
				
			||||||
 | 
					                emit w->summary();
 | 
				
			||||||
 | 
					                //qApp->exit(-1);
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                emit w->insertText(s);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            m_commandResult += s;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user