6 : QState(QState::ExclusiveStates, parent)
13 return qobject_cast<QGCStateMachine*>(QState::machine());
29 return QStringLiteral(
"%1:%2").arg(
machine()->machineName(), objectName());
37 _entryCallback = std::move(
onEntry);
38 _exitCallback = std::move(
onExit);
43 QState::onEntry(
event);
44 qCDebug(QGCStateMachineLog) <<
"Entered" <<
stateName();
61 QState::onExit(
event);
62 qCDebug(QGCStateMachineLog) <<
"Exited" <<
stateName();
67 if (_eventHandler && _eventHandler(
event)) {
71 return QState::event(
event);
std::function< void()> EntryCallback
void onExit(QEvent *event) override
void setCallbacks(EntryCallback onEntry, ExitCallback onExit=nullptr)
Set both entry and exit callbacks.
void onEntry(QEvent *event) override
QGCAbstractState(const QString &stateName, QState *parent)
class StateContext * context() const
QString stateName() const
bool event(QEvent *event) override
virtual void onEnter()
Override to perform actions on state entry.
virtual void onLeave()
Override to perform actions on state exit.
std::function< void()> ExitCallback
QGCStateMachine * machine() const
Vehicle * vehicle() const
QGroundControl specific state machine with enhanced error handling.