remove smart pointer from Tasks

This commit is contained in:
Peter Buchegger 2021-05-19 01:01:10 +02:00
parent d45423ae17
commit 1f7f56ecfa
3 changed files with 39 additions and 29 deletions

View file

@ -5,16 +5,16 @@
TaskManager::TaskManager() {
}
void TaskManager::addTask(std::shared_ptr<Task> task) {
void TaskManager::addTask(Task *task) {
_tasks.push_back(task);
}
void TaskManager::addAlwaysRunTask(std::shared_ptr<Task> task) {
void TaskManager::addAlwaysRunTask(Task *task) {
_alwaysRunTasks.push_back(task);
}
std::shared_ptr<Task> TaskManager::getTask(const char *name) {
std::_List_iterator<std::shared_ptr<Task>> elem = std::find_if(_tasks.begin(), _tasks.end(), [&](std::shared_ptr<Task> task) {
Task *TaskManager::getTask(const char *name) {
std::_List_iterator<Task *> elem = std::find_if(_tasks.begin(), _tasks.end(), [&](Task *task) {
return task->getName() == name;
});
if (elem == _tasks.end()) {
@ -23,18 +23,18 @@ std::shared_ptr<Task> TaskManager::getTask(const char *name) {
return *elem;
}
std::list<std::shared_ptr<Task>> TaskManager::getTasks() {
std::list<Task *> TaskManager::getTasks() {
return _tasks;
}
bool TaskManager::setup(System &system) {
logPrintlnV("will setup all tasks...");
for (std::shared_ptr<Task> &elem : _alwaysRunTasks) {
for (Task *elem : _alwaysRunTasks) {
logPrintD("call setup from ");
logPrintlnD(elem->getName());
elem->setup(system);
}
for (std::shared_ptr<Task> &elem : _tasks) {
for (Task *elem : _tasks) {
logPrintD("call setup from ");
logPrintlnD(elem->getName());
elem->setup(system);
@ -45,7 +45,7 @@ bool TaskManager::setup(System &system) {
bool TaskManager::loop(System &system) {
// logPrintlnD("will loop all tasks...");
for (std::shared_ptr<Task> &elem : _alwaysRunTasks) {
for (Task *elem : _alwaysRunTasks) {
// logPrintD("call loop from ");
// logPrintlnD(elem->getName());
elem->loop(system);
@ -61,7 +61,7 @@ bool TaskManager::loop(System &system) {
void StatusFrame::drawStatusPage(Bitmap &bitmap) {
int y = 0;
for (std::shared_ptr<Task> task : _tasks) {
for (Task *task : _tasks) {
int x = bitmap.drawString(0, y, (task->getName()).substring(0, task->getName().indexOf("Task")));
x = bitmap.drawString(x, y, ": ");
if (task->getStateInfo() == "") {