job scheduler works with run once and run periodic schedules. Stop logic is not fully thought through.

Dependencies:   LinkedList

Dependents:   JobSchedulerDemo Borsch

Committer:
sgnezdov
Date:
Tue Jul 11 20:35:19 2017 +0000
Revision:
2:9bf5366ad5a2
Parent:
0:806403f3d0d1
Child:
8:4ead1f4ab741
improved scheduler organization

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgnezdov 0:806403f3d0d1 1 #pragma once
sgnezdov 0:806403f3d0d1 2
sgnezdov 2:9bf5366ad5a2 3 #include "scheduler.h"
sgnezdov 2:9bf5366ad5a2 4
sgnezdov 0:806403f3d0d1 5 namespace JobScheduler {
sgnezdov 0:806403f3d0d1 6
sgnezdov 2:9bf5366ad5a2 7 class RunOnceSchedule: public ISchedule {
sgnezdov 2:9bf5366ad5a2 8 public:
sgnezdov 2:9bf5366ad5a2 9 RunOnceSchedule(time_t time): _time(time) {};
sgnezdov 2:9bf5366ad5a2 10
sgnezdov 2:9bf5366ad5a2 11 virtual ~RunOnceSchedule() {};
sgnezdov 2:9bf5366ad5a2 12
sgnezdov 2:9bf5366ad5a2 13 virtual time_t NextRunTime(time_t from) {
sgnezdov 2:9bf5366ad5a2 14 time_t current = _time;
sgnezdov 2:9bf5366ad5a2 15 _time = 0;
sgnezdov 2:9bf5366ad5a2 16 return current;
sgnezdov 2:9bf5366ad5a2 17 };
sgnezdov 2:9bf5366ad5a2 18
sgnezdov 2:9bf5366ad5a2 19 private:
sgnezdov 2:9bf5366ad5a2 20 time_t _time;
sgnezdov 2:9bf5366ad5a2 21 };
sgnezdov 2:9bf5366ad5a2 22
sgnezdov 0:806403f3d0d1 23 }