65 template<
typename Func>
68 _completionConnection = connect(sender, signal,
this, [
this]() {
75 template<
typename Func,
typename Slot>
76 void connectToCompletion(
typename QtPrivate::FunctionPointer<Func>::Object* sender, Func signal, Slot slot)
78 _completionConnection = connect(sender, signal,
this, slot);
103 QMetaObject::Connection _completionConnection;
104 bool _wasSkipped =
false;
QString stateName() const
std::function< void()> SkipAction
void connectToCompletion(typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signal)
void setSkipAction(SkipAction skipAction)
Set the skip action.
void setSkipPredicate(SkipPredicate predicate)
Set the skip predicate.
void skipped()
Emitted when skip predicate returns true and the state is skipped.
std::function< bool()> SkipPredicate
void onWaitEntered() override
Called when the state is entered - subclasses should call base implementation.
void complete()
Call this to signal that the async operation has completed successfully.
std::function< void(SkippableAsyncState *state)> SetupFunction
void fail()
Call this to signal that the async operation has failed.
void setSetupFunction(SetupFunction setupFunc)
Set the setup function.
void connectWaitSignal() override
Subclasses override to set up their signal connections.
void connectToCompletion(typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signal, Slot slot)
void disconnectWaitSignal() override
Subclasses override to tear down their signal connections.