From b9ac4ac9508ce321be7e457e4ea1f34cbfc1bb4d Mon Sep 17 00:00:00 2001 From: Anatole SCHRAMM Date: Tue, 30 Apr 2019 13:37:47 +0200 Subject: [PATCH] Created the TaskSchedulerManager class (skeleton only, no implementation) --- src/app/TaskSchedulerManager.cpp | 1 + src/app/TaskSchedulerManager.h | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/app/TaskSchedulerManager.cpp create mode 100644 src/app/TaskSchedulerManager.h diff --git a/src/app/TaskSchedulerManager.cpp b/src/app/TaskSchedulerManager.cpp new file mode 100644 index 0000000..f8feb8e --- /dev/null +++ b/src/app/TaskSchedulerManager.cpp @@ -0,0 +1 @@ +#include "TaskSchedulerManager.h" diff --git a/src/app/TaskSchedulerManager.h b/src/app/TaskSchedulerManager.h new file mode 100644 index 0000000..87d65ae --- /dev/null +++ b/src/app/TaskSchedulerManager.h @@ -0,0 +1,32 @@ +#ifndef TASKSCHEDULERMANAGER_H +#define TASKSCHEDULERMANAGER_H +#include +#include "RtcManager.h" + +namespace TaskSchedulerManagerHelper +{ + class Schedule + { + public: + protected: + private: + }; +} + +class TaskSchedulerManager +{ + friend class SAB; + public: + boolean addTask(const char *name, TaskSchedulerManagerHelper::Schedule schedule, boolean (*taskRoutine)(void*), void *pData = NULL); + boolean addTask(uint8_t id, TaskSchedulerManagerHelper::Schedule schedule, boolean (*taskRoutine)(void*), void *pData = NULL); + boolean removeTask(const char *name); + boolean removeTask(uint8_t id); + void runTaskScheduler(); + protected: + TaskSchedulerManager(); + TaskSchedulerManager(RtcManager &rtcManager); + private: + RtcManager *_rtcManager; +}; + +#endif //TASKSCHEDULERMANAGER_H