On Mon, 29 Jul 2019 16:56:22 +0200 Damien Hedde <damien.he...@greensocs.com> wrote:
(...) > +/* > + * ResettableClass: > + * Interface for resettable objects. > + * > + * The reset operation is divided in several phases each represented by a > + * method. > + * > + * Each Ressetable must maintain a reset counter in its state, 3 methods > allows > + * to interact with it. > + * > + * @phases.init: should reset local state only. Takes a bool @cold argument > + * specifying whether the reset is cold or warm. It must not do side-effect > + * on others objects. I'm having a hard time figuring out what a 'cold' or a 'warm' reset is supposed to be... can you add a definition/guideline somewhere? > + * > + * @phases.hold: side-effects action on others objects due to staying in a > + * resetting state. > + * > + * @phases.exit: leave the reset state, may do side-effects action on others > + * objects. > + * > + * @set_cold: Set whether the current reset is cold or warm. Return the > + * previous flag value. Return value has no meaning if @get_count returns > + * a zero value. Same here. > + * > + * @set_hold_needed: Set hold_needed flag. Return the previous flag value. > + * > + * @get_count: Get the current reset count > + * @increment_count: Increment the reset count, returns the new count > + * @decrement_count: decrement the reset count, returns the new count > + * > + * @foreach_child: Executes a given function on every Resettable child. > + * A child is not a QOM child, but a child a reset meaning. > + */ (...)