kopia lustrzana https://github.com/lora-aprs/LoRa_APRS_iGate
53 wiersze
920 B
C++
53 wiersze
920 B
C++
![]() |
#include <logger.h>
|
||
|
#include "TaskManager.h"
|
||
|
|
||
|
TaskManager::TaskManager()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void TaskManager::addTask(std::shared_ptr<Task> task)
|
||
|
{
|
||
|
_tasks.push_back(task);
|
||
|
}
|
||
|
|
||
|
std::shared_ptr<Task> TaskManager::getTask(String & name)
|
||
|
{
|
||
|
for(std::shared_ptr<Task> & elem : _tasks)
|
||
|
{
|
||
|
if(elem->getName() == name)
|
||
|
{
|
||
|
return elem;
|
||
|
}
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
bool TaskManager::setup(std::shared_ptr<Configuration> config)
|
||
|
{
|
||
|
logPrintlnV("will setup all tasks...");
|
||
|
for(std::shared_ptr<Task> & elem : _tasks)
|
||
|
{
|
||
|
logPrintW("call setup from ");
|
||
|
logPrintlnW(elem->getName());
|
||
|
if(!elem->setup(config))
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
bool TaskManager::loop(std::shared_ptr<Configuration> config)
|
||
|
{
|
||
|
//logPrintlnD("will loop all tasks...");
|
||
|
for(std::shared_ptr<Task> & elem : _tasks)
|
||
|
{
|
||
|
//logPrintD("call loop from ");
|
||
|
//logPrintlnD(elem->getName());
|
||
|
if(!elem->loop(config))
|
||
|
{
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
return true;
|
||
|
}
|