Sched module
IntervalTrigger
Trigger that fires repeatedly at a fixed time interval.
IntervalTrigger
#include <icy/sched/trigger.h>Inherits:
Trigger
Trigger that fires repeatedly at a fixed time interval.
Public Attributes
| Return | Name | Description |
|---|---|---|
Timespan | interval | This value represents the interval to wait before running the task. |
int | maxTimes | The maximum number of times the task will be run before it is destroyed. 0 for no effect. |
interval
Timespan intervalThis value represents the interval to wait before running the task.
maxTimes
int maxTimesThe maximum number of times the task will be run before it is destroyed. 0 for no effect.
Public Methods
| Return | Name | Description |
|---|---|---|
IntervalTrigger | Constructs the trigger with type "IntervalTrigger" and maxTimes = 0 (unlimited). | |
void | update virtual | Advances scheduleAt by one interval period. |
bool | expired virtual | Returns true when maxTimes > 0 and timesRun >= maxTimes. |
void | serialize virtual | Serializes interval fields (days, hours, minutes, seconds) in addition to base fields. |
void | deserialize virtual | Deserializes interval fields from root. Throws if the resulting interval is zero. |
IntervalTrigger
IntervalTrigger()Constructs the trigger with type "IntervalTrigger" and maxTimes = 0 (unlimited).
update
virtual
virtual void update()Advances scheduleAt by one interval period.
expired
virtual
virtual bool expired()Returns true when maxTimes > 0 and timesRun >= maxTimes.
serialize
virtual
virtual void serialize(json::Value & root)Serializes interval fields (days, hours, minutes, seconds) in addition to base fields.
Parameters
rootJSON object to populate.
deserialize
virtual
virtual void deserialize(json::Value & root)Deserializes interval fields from root. Throws if the resulting interval is zero.
Parameters
rootJSON object previously produced by serialize().
