summaryrefslogtreecommitdiffstats
path: root/src/corelib/statemachine/qstatemachine_p.h
diff options
context:
space:
mode:
authorFawzi Mohamed <fawzi.mohamed@theqtcompany.com>2015-02-17 17:37:32 +0100
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-05-04 12:49:37 +0000
commitcecd52b89ae6c58476c39079830908d22f52ef2d (patch)
treece0f9e5af47b3c929644b7436915d2b1a1bce153 /src/corelib/statemachine/qstatemachine_p.h
parentc07f5b801bd6a94fe862073eb1f1965115a56385 (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.h4
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);