ScheduleBook

The stored schedules of one node, in one JSON file (clockwork §CW-D-10).

In the namespace clockwork. Declared in src/libs/libclockwork/clockwork/ScheduleBook.hpp.

Detailed description

- A `schemaVersion` guards the file. A file of a newer version is refused: the book holds nothing, save() writes nothing, and notice() names the file and both versions. Nothing fires until a clockwork that reads that version runs. - Each save() writes the whole file through QSaveFile, so a crash leaves the old file or the new one, never half of one. - A file that does not parse is moved aside as `<file>.broken-<UTC time>`, and the book starts empty. It is never overwritten in place. - No row limit.

The book issues each id, and never issues one twice: the counter is in the file. It does no I/O but load() and save().

In this section