Home
Sched module

IntervalTrigger

Trigger that fires repeatedly at a fixed time interval.

IntervalTrigger

#include <icy/sched/trigger.h>
struct IntervalTrigger

Defined in src/sched/include/icy/sched/trigger.h:133

Inherits: Trigger

Trigger that fires repeatedly at a fixed time interval.

List of all members

NameKindOwner
intervalvariableDeclared here
maxTimesvariableDeclared here
IntervalTriggerfunctionDeclared here
updatefunctionDeclared here
expiredfunctionDeclared here
serializefunctionDeclared here
deserializefunctionDeclared here
typevariableInherited from Trigger
namevariableInherited from Trigger
timesRunvariableInherited from Trigger
createdAtvariableInherited from Trigger
scheduleAtvariableInherited from Trigger
lastRunAtvariableInherited from Trigger
TriggerfunctionInherited from Trigger
updatefunctionInherited from Trigger
remainingfunctionInherited from Trigger
timeoutfunctionInherited from Trigger
expiredfunctionInherited from Trigger
serializefunctionInherited from Trigger
deserializefunctionInherited from Trigger
~ISerializablefunctionInherited from ISerializable
serializefunctionInherited from ISerializable
deserializefunctionInherited from ISerializable

Inherited from Trigger

KindNameDescription
variabletypeThe type of this trigger class.
variablenameThe display name of this trigger class.
variabletimesRunThe number of times the task has run since creation;
variablecreatedAtThe time the task was created.
variablescheduleAtThe time the task is scheduled to run.
variablelastRunAtThe time the task was last run.
functionTrigger
functionupdate virtualUpdates the scheduleAt value to the next scheduled time.
functionremaining virtualReturns the milliseconds remaining until the next scheduled timeout.
functiontimeout virtualReturns true if the task is ready to be run, false otherwise.
functionexpired virtualReturns true if the task is expired and should be destroyed. Returns false by default.
functionserialize virtual overrideSerializes timing state (type, name, createdAt, scheduleAt, lastRunAt, timesRun) to root.
functiondeserialize virtual overrideDeserializes timing state from root.

Inherited from ISerializable

KindNameDescription
function~ISerializable virtualDefaulted destructor.
functionserialize virtualSerializes this object's state into root.
functiondeserialize virtualPopulates this object's state from root.

Public Attributes

ReturnNameDescription
TimespanintervalThis value represents the interval to wait before running the task.
intmaxTimesThe maximum number of times the task will be run before it is destroyed. 0 for no effect.

interval

Timespan interval

Defined in src/sched/include/icy/sched/trigger.h:155

This value represents the interval to wait before running the task.


maxTimes

int maxTimes

Defined in src/sched/include/icy/sched/trigger.h:160

The maximum number of times the task will be run before it is destroyed. 0 for no effect.

Public Methods

ReturnNameDescription
IntervalTriggerConstructs the trigger with type "IntervalTrigger" and maxTimes = 0 (unlimited).
voidupdate virtual overrideAdvances scheduleAt by one interval period.
boolexpired virtual overrideReturns true when maxTimes > 0 and timesRun >= maxTimes.
voidserialize virtual overrideSerializes interval fields (days, hours, minutes, seconds) in addition to base fields.
voiddeserialize virtual overrideDeserializes interval fields from root. Throws if the resulting interval is zero.

IntervalTrigger

IntervalTrigger()

Defined in src/sched/include/icy/sched/trigger.h:136

Constructs the trigger with type "IntervalTrigger" and maxTimes = 0 (unlimited).


update

virtual override

virtual void update() override

Defined in src/sched/include/icy/sched/trigger.h:139

Advances scheduleAt by one interval period.

Reimplements

expired

virtual override

virtual bool expired() override

Defined in src/sched/include/icy/sched/trigger.h:142

Returns true when maxTimes > 0 and timesRun >= maxTimes.

Reimplements

serialize

virtual override

virtual void serialize(json::Value & root) override

Defined in src/sched/include/icy/sched/trigger.h:146

Serializes interval fields (days, hours, minutes, seconds) in addition to base fields.

Parameters

  • root JSON object to populate.
Reimplements

deserialize

virtual override

virtual void deserialize(json::Value & root) override

Defined in src/sched/include/icy/sched/trigger.h:151

Deserializes interval fields from root. Throws if the resulting interval is zero.

Parameters

Reimplements