#include "work_process_list.h" #include "process/update_command.h" #include #include //unsigned WorkList::nextExecIndex() const { // if (m_workList.size() > 0 && m_workListIndex < (m_workList.size() - 1)) { // return m_workListIndex + 1; // } // return std::numeric_limits::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::max(); return true; } return false; }