48 int compId = MAV_COMP_ID_AUTOPILOT1,
90 void _handleResult(MAV_RESULT result,
101 bool _failOnMaxRetries =
false;
103 bool _requestActive =
false;
106 MAV_RESULT _lastResult = MAV_RESULT_ACCEPTED;
struct __mavlink_message mavlink_message_t
QString stateName() const
Vehicle * vehicle() const
int maxRetries() const
Get max retries setting.
std::function< void(Vehicle::RequestMessageResultHandlerFailureCode_t failureCode, MAV_RESULT result)> FailureHandler
std::function< bool()> SkipPredicate
void onWaitExited() override
Called when the state is exited - subclasses should call base implementation.
int retryCount() const
Get current retry count.
void messageReceived(const mavlink_message_t &message)
Emitted when message is successfully received.
void setFailOnMaxRetries(bool fail)
If true, emit error() after max retries instead of advance()
Vehicle::RequestMessageResultHandlerFailureCode_t lastFailureCode() const
Get the failure code from the last attempt.
void disconnectWaitSignal() override
Subclasses override to tear down their signal connections.
void onWaitTimeout() override
Called when the timeout expires - default emits timeout(), subclasses can override.
void setSkipPredicate(SkipPredicate predicate)
void onWaitEntered() override
Called when the state is entered - subclasses should call base implementation.
void retriesExhausted()
Emitted when all retries are exhausted.
std::function< void(Vehicle *vehicle, const mavlink_message_t &message)> MessageHandler
void connectWaitSignal() override
Subclasses override to set up their signal connections.
MAV_RESULT lastResult() const
Get the MAV_RESULT from the last attempt.
void setFailureHandler(FailureHandler handler)
Set handler called when all retries fail.
RequestMessageResultHandlerFailureCode_t
@ RequestMessageNoFailure