Created the TaskSchedulerManager class (skeleton only, no implementation)

This commit is contained in:
Anatole SCHRAMM 2019-04-30 13:37:47 +02:00
parent 604203ed65
commit b9ac4ac950
2 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1 @@
#include "TaskSchedulerManager.h"

View File

@ -0,0 +1,32 @@
#ifndef TASKSCHEDULERMANAGER_H
#define TASKSCHEDULERMANAGER_H
#include <Arduino.h>
#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