job scheduler works with run once and run periodic schedules. Stop logic is not fully thought through.
Dependents: JobSchedulerDemo Borsch
schedules.h@2:9bf5366ad5a2, 2017-07-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |