#include #include "TaskManager.h" TaskManager::TaskManager() { } void TaskManager::addTask(std::shared_ptr task) { _tasks.push_back(task); } std::shared_ptr TaskManager::getTask(const char * name) { std::_List_iterator> elem = std::find_if(_tasks.begin(), _tasks.end(), [&](std::shared_ptr task) { return task->getName() == name; }); if(elem == _tasks.end()) { return 0; } return *elem; } bool TaskManager::setup(std::shared_ptr config, std::shared_ptr boardConfig) { logPrintlnV("will setup all tasks..."); for(std::shared_ptr & elem : _tasks) { logPrintW("call setup from "); logPrintlnW(elem->getName()); if(!elem->setup(config, boardConfig)) { return false; } } return true; } bool TaskManager::loop(std::shared_ptr config) { //logPrintlnD("will loop all tasks..."); for(std::shared_ptr & elem : _tasks) { //logPrintD("call loop from "); //logPrintlnD(elem->getName()); if(!elem->loop(config)) { return false; } } return true; }