|
void | QMActive_ctor (QMActive *const me, QStateHandler const initial) |
|
void | QActive_ctor (QActive *const me, QStateHandler const initial) |
|
void | QActive_stop (QActive *const me) |
|
void | QActive_subscribe (QActive const *const me, enum_t const sig) |
|
void | QActive_unsubscribe (QActive const *const me, enum_t const sig) |
|
void | QActive_unsubscribeAll (QActive const *const me) |
|
bool | QActive_defer (QActive const *const me, struct QEQueue *const eq, QEvt const *const e) |
|
bool | QActive_recall (QActive *const me, struct QEQueue *const eq) |
|
uint_fast16_t | QActive_flushDeferred (QActive const *const me, struct QEQueue *const eq, uint_fast16_t const num) |
|
void | QAsm_ctor (QAsm *const me) |
|
QState | QHsm_top (QHsm const *const me, QEvt const *const e) |
|
Active object class (based on QMsm implementation strategy)
- Description
- QMActive represents an active object that uses the QMsm style state machine implementation strategy. This strategy requires the use of the QM modeling tool to generate state machine code automatically, but the code is faster than in the QHsm style implementation strategy and needs less run-time support (smaller event-processor).
- Note
- QMActive is not intended to be instantiated directly, but rather serves as the base class for derivation of active objects in the application.
- Traceability
-
- Usage
- The following example illustrates how to derive an active object from QMActive. Please note that the QActive member
super
is defined as the first member of the derived struct (see Object Orientation). Please also note the call to the QMActive_ctor() in the Blinky subclass' constructor. typedef struct {
} Blinky;
. . .
void Blinky_ctor(Blinky * const me) {
QTimeEvt_ctorX(&me->timeEvt, &me->super, TIMEOUT_SIG, 0U);
}
#define Q_STATE_CAST(handler_)
Active object class (based on QMsm implementation strategy)
void QMActive_ctor(QMActive *const me, QStateHandler const initial)
Definition at line 952 of file qp.h.