Files
ATBUpdateTool/UpdatePTUDevCtrl/work_process_list.cpp

38 lines
1.1 KiB
C++

#include "work_process_list.h"
#include "process/update_command.h"
#include <limits>
#include <QDebug>
//unsigned WorkList::nextExecIndex() const {
// if (m_workList.size() > 0 && m_workListIndex < (m_workList.size() - 1)) {
// return m_workListIndex + 1;
// }
// return std::numeric_limits<unsigned>::max();
//}
bool WorkList::nextExec() const {
return m_workListIndex < m_workList.size();
}
bool WorkList::exec(bool last) {
if (last == false) {
// if not the last entry in the worklist
if (nextExec()) {
// and there is a next entry (a binary) to execute, start the
// binary if the specified working directory.
m_workList[m_workListIndex]->start("/opt/app/tools/atbupdate");
// update to point to next entry
m_workListIndex += 1;
return true;
}
} else {
// start the last entry in the worklist
m_workList.back()->start("/opt/app/tools/atbupdate");
m_workListIndex = std::numeric_limits<unsigned>::max();
return true;
}
return false;
}