QStateMachine с правилами композиции

Знаете ли вы, есть ли какая-либо возможность с Qt StateMachine Framework применять правила компоновки, такие как "это состояние не должно предшествовать этому типу состояния" и т. Д. Предпочтительно во время компиляции.

Пример:

QStateMachine machine;
QState *checked = new QState();
QState *prepared = new QState();
QState *loaded = new QState();
QState *synced = new QState();

checked->addTransition(thread, SIGNAL(prepared()), prepared);
prepared->addTransition(thread, SIGNAL(loaded()), loaded);
loaded->addTransition(thread, SIGNAL(prepared()), prepared); // <- for example compile-time error, should not allow prepared after loaded

Я знаю, что определение конечного автомата - это "набор правил" для исполнения. Это просто для минимизации ошибок копирования и вставки и других нарушений при повторном использовании состояний и конечных автоматов и получения ранней обратной связи.

0 ответов

Другие вопросы по тегам