15 using Guard = std::function<bool()>;
22 template<
typename Func>
25 QAbstractState* target,
28 , _guard(std::move(
guard))
30 setTargetState(target);
37 template<
typename Func>
42 , _guard(std::move(
guard))
GuardedTransition(const typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signalFn, QAbstractState *target, Guard guard)
std::function< bool()> Guard
bool eventTest(QEvent *event) override
Override to check guard before allowing transition.
void setGuard(Guard guard)
Set the guard predicate.
Guard guard() const
Get the current guard predicate.
GuardedTransition(const typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signalFn, Guard guard)
Base class for signal-based transitions that need access to QGCStateMachine and Vehicle.