Home
Sched module

Trigger

Base class for scheduled task triggers that determine when a task should run.

Trigger

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

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

Inherits: ISerializable Subclassed by: DailyTrigger, IntervalTrigger, OnceOnlyTrigger

Base class for scheduled task triggers that determine when a task should run.

List of all members

NameKindOwner
typevariableDeclared here
namevariableDeclared here
timesRunvariableDeclared here
createdAtvariableDeclared here
scheduleAtvariableDeclared here
lastRunAtvariableDeclared here
TriggerfunctionDeclared here
updatefunctionDeclared here
remainingfunctionDeclared here
timeoutfunctionDeclared here
expiredfunctionDeclared here
serializefunctionDeclared here
deserializefunctionDeclared here
~ISerializablefunctionInherited from ISerializable
serializefunctionInherited from ISerializable
deserializefunctionInherited from ISerializable

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
std::stringtypeThe type of this trigger class.
std::stringnameThe display name of this trigger class.
inttimesRunThe number of times the task has run since creation;
DateTimecreatedAtThe time the task was created.
DateTimescheduleAtThe time the task is scheduled to run.
DateTimelastRunAtThe time the task was last run.

type

std::string type

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

The type of this trigger class.


name

std::string name

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

The display name of this trigger class.


timesRun

int timesRun

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

The number of times the task has run since creation;


createdAt

DateTime createdAt

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

The time the task was created.


scheduleAt

DateTime scheduleAt

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

The time the task is scheduled to run.


lastRunAt

DateTime lastRunAt

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

The time the task was last run.

Public Methods

ReturnNameDescription
Trigger
voidupdate virtualUpdates the scheduleAt value to the next scheduled time.
std::int64_tremaining virtualReturns the milliseconds remaining until the next scheduled timeout.
booltimeout virtualReturns true if the task is ready to be run, false otherwise.
boolexpired virtualReturns true if the task is expired and should be destroyed. Returns false by default.
voidserialize virtual overrideSerializes timing state (type, name, createdAt, scheduleAt, lastRunAt, timesRun) to root.
voiddeserialize virtual overrideDeserializes timing state from root.

Trigger

Trigger(const std::string & type = "", const std::string & name = "")

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

Parameters

  • type Registered type name used by TaskFactory.

  • name Human-readable display name.


update

virtual

virtual void update()

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

Updates the scheduleAt value to the next scheduled time.

Reimplemented by

remaining

virtual

virtual std::int64_t remaining()

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

Returns the milliseconds remaining until the next scheduled timeout.


timeout

virtual

virtual bool timeout()

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

Returns true if the task is ready to be run, false otherwise.


expired

virtual

virtual bool expired()

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

Returns true if the task is expired and should be destroyed. Returns false by default.

Reimplemented by

serialize

virtual override

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

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

Serializes timing state (type, name, createdAt, scheduleAt, lastRunAt, timesRun) to root.

Parameters

  • root JSON object to populate.
Reimplements
Reimplemented by

deserialize

virtual override

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

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

Deserializes timing state from root.

Parameters

Reimplements
Reimplemented by