#include #include "Task.h" #include "String.h" Task::Task() : state(TASK_ON_HOLD) {} Task::~Task() {} int Task::Do() { return TASK_ON_HOLD; } int Task::Run() { cerr << "Running task '" << GetName() << "'...\n"; try { while ((state = Do()) != TASK_DONE); } catch (GeneralException e) { cerr << "Task " << GetName() << " caused an unexpected exception: '" << e.GetMsg() << "', closing it.\n"; return TASK_DONE; } return state; } int Task::GetState() { return state; } String Task::GetName() { return "Unknow Task"; }