ESP8266_swiss_army_board/src/app/TaskSchedulerManager.h

33 lines
817 B
C++

#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