7 , _forwardAction(std::move(forwardAction))
8 , _rollbackAction(std::move(rollbackAction))
14 _wasRolledBack =
false;
15 _rollbackSucceeded =
false;
17 qCDebug(QGCStateMachineLog) <<
stateName() <<
"executing forward action";
21 success = _forwardAction();
25 qCDebug(QGCStateMachineLog) <<
stateName() <<
"forward action succeeded";
29 qCDebug(QGCStateMachineLog) <<
stateName() <<
"forward action failed, rolling back";
32 _wasRolledBack =
true;
35 if (_rollbackAction) {
37 _rollbackSucceeded =
true;
38 qCDebug(QGCStateMachineLog) <<
stateName() <<
"rollback completed";
QString stateName() const
void onEnter() override
Override to perform actions on state entry.
std::function< bool()> ForwardAction
Forward action - returns true on success.
void forwardSucceeded()
Emitted when forward action succeeds.
void rollingBack()
Emitted when rollback starts.
void forwardFailed()
Emitted when forward action fails (before rollback)
void rollbackComplete()
Emitted when rollback completes.
std::function< void()> RollbackAction
Rollback action - executed on forward failure.
RollbackState(const QString &stateName, QState *parent, ForwardAction forwardAction, RollbackAction rollbackAction)