diff options
author | Fawzi Mohamed <fawzi.mohamed@theqtcompany.com> | 2015-02-17 17:37:32 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2015-05-04 12:49:37 +0000 |
commit | cecd52b89ae6c58476c39079830908d22f52ef2d (patch) | |
tree | ce0f9e5af47b3c929644b7436915d2b1a1bce153 /src/corelib/statemachine/qstatemachine_p.h | |
parent | c07f5b801bd6a94fe862073eb1f1965115a56385 (diff) |
qstatemachine: add methods detect when a machine has processed an event
currently when adding an event it is not possible to know when processing
it has finished.
In particular if the event is ignored no method is called.
Adding virtual methods to the private implementation (binary compatibility).
These methods allow for extended automatic testing of the state machines.
(cherry picked from commit e7feb956280105113b3e58f12e5f32f54199a95a)
Change-Id: Iaa48fb9d7f6a6cde1a8a7a2bece7b4df55c147e8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Diffstat (limited to 'src/corelib/statemachine/qstatemachine_p.h')
-rw-r--r-- | src/corelib/statemachine/qstatemachine_p.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/statemachine/qstatemachine_p.h b/src/corelib/statemachine/qstatemachine_p.h index 28fd96f507..5584bc91ab 100644 --- a/src/corelib/statemachine/qstatemachine_p.h +++ b/src/corelib/statemachine/qstatemachine_p.h @@ -128,6 +128,10 @@ public: void removeConflictingTransitions(QList<QAbstractTransition*> &enabledTransitions, CalculationCache *cache); void microstep(QEvent *event, const QList<QAbstractTransition*> &transitionList, CalculationCache *cache); QList<QAbstractTransition *> selectTransitions(QEvent *event, CalculationCache *cache); + virtual void noMicrostep(); + virtual void processedPendingEvents(bool didChange); + virtual void beginMacrostep(); + virtual void endMacrostep(bool didChange); void exitStates(QEvent *event, const QList<QAbstractState *> &statesToExit_sorted, const QHash<QAbstractState*, QList<QPropertyAssignment> > &assignmentsForEnteredStates); QList<QAbstractState*> computeExitSet(const QList<QAbstractTransition*> &enabledTransitions, CalculationCache *cache); |