Active object class (based on QMsm implementation strategy) More...
#include "qp.h"
Protected Member Functions | |
void | QMActive_ctor (QMActive *const me, QStateHandler const initial) |
Protected Member Functions inherited from QActive | |
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) |
Protected Attributes | |
QActive | super |
Protected Attributes inherited from QActive | |
QAsm | super |
uint8_t | prio |
QF-priority [1..QF_MAX_ACTIVE] of this AO. | |
uint8_t | pthre |
Preemption-threshold [1..QF_MAX_ACTIVE] of this AO. | |
QACTIVE_THREAD_TYPE | thread |
Port-dependent representation of the thread of the active object. | |
QACTIVE_OS_OBJ_TYPE | osObject |
Port-dependent per-thread object. | |
QACTIVE_EQUEUE_TYPE | eQueue |
Port-dependent event-queue type (often QEQueue) | |
Protected Attributes inherited from QAsm | |
struct QAsmVtable const * | vptr |
Virtual pointer inherited by all QAsm subclasses (see also Object Orientation) | |
union QAsmAttr | state |
Current state (pointer to the current state-handler function) | |
union QAsmAttr | temp |
Temporary storage for target/act-table etc. | |
Additional Inherited Members | |
Public Member Functions inherited from QActive | |
void | QActive_setAttr (QActive *const me, uint32_t attr1, void const *attr2) |
void | QActive_start (QActive *const me, QPrioSpec const prioSpec, QEvtPtr *const qSto, uint_fast16_t const qLen, void *const stkSto, uint_fast16_t const stkSize, void const *const par) |
Static Public Member Functions inherited from QActive | |
void | QActive_psInit (QSubscrList *const subscrSto, enum_t const maxSignal) |
Static Protected Member Functions inherited from QAsm | |
static void | QAsm_ctor (QAsm *const me) |
Active object class (based on QMsm implementation strategy)
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).
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.
|
protected |
Definition at line 45 of file qf_qmact.c.