X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fchainedtask.cpp;h=066dc22c3be1f6aba48a7f68adfefa97dfb67287;hb=HEAD;hp=4e0decb67a8f2b25aad18d92baa8f1357cd6ba0d;hpb=d1f9551e05c9d341149eb490e05b1465d3d6b711;p=builder.git diff --git a/source/chainedtask.cpp b/source/chainedtask.cpp deleted file mode 100644 index 4e0decb..0000000 --- a/source/chainedtask.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include -#include "chainedtask.h" - -using namespace std; -using namespace Msp; - -ChainedTask::ChainedTask(Task *t) -{ - add_task(t); -} - -ChainedTask::~ChainedTask() -{ - for(Task *t: tasks) - delete t; -} - -void ChainedTask::add_task(Task *t) -{ - tasks.push_back(t); -} - -string ChainedTask::get_command() const -{ - string cmd; - for(Task *t: tasks) - append(cmd, "\n", t->get_command()); - return cmd; -} - -void ChainedTask::start() -{ - prepare(); - - current = 0; - tasks[current]->start(); -} - -Task::Status ChainedTask::check() -{ - while(currentcheck())) ; - - return final_status; -} - -Task::Status ChainedTask::wait() -{ - while(currentwait())) ; - - return final_status; -} - -bool ChainedTask::process(Status sub_status) -{ - if(sub_status==SUCCESS && current+1start(); - return true; - } - - if(sub_status!=RUNNING) - { - // The task is not running anymore and either failed or was the last one - current = tasks.size(); - final_status = sub_status; - } - - return false; -}