23#ifndef INCLUDE_SERVICES_AMANAGEDTASKEX_VTBL_H_
24#define INCLUDE_SERVICES_AMANAGEDTASKEX_VTBL_H_
38struct _AManagedTaskEx_vtbl {
40 sys_error_code_t (*OnCreateTask)(
AManagedTask *_this, tx_entry_function_t *pvTaskCode, CHAR **pcName, VOID **pvStackStart, ULONG *pnStackSize, UINT *pnPriority, UINT *pnPreemptThreshold, ULONG *pnTimeSlice, ULONG *pnAutoStart, ULONG *pnParams);
53 uint8_t nIsWaitingNoTimeout : 1;
54 uint8_t nPowerModeClass: 2;
57 uint8_t nReserved : 1;
102extern EPowerMode SysGetPowerMode(
void);
109 assert_param(_this != NULL);
110 EPowerMode eObjeActivePowerMode = eActivePowerMode;
117 return _this->
vptr->ForceExecuteStep(_this, eObjeActivePowerMode);
122 assert_param(_this != NULL);
123 EPowerMode eObjeActivePowerMode = eActivePowerMode;
124 EPowerMode eObjNewPowerMode = eNewPowerMode;
132 return _this->
vptr->OnEnterPowerMode(_this, eObjeActivePowerMode, eObjNewPowerMode);
155 return SYS_NO_ERROR_CODE;
162 _this->
m_xStatusEx.nIsWaitingNoTimeout = (uint8_t)bBlockedSuspended;
164 return SYS_NO_ERROR_CODE;
171 return (boolean_t)_this->
m_xStatusEx.nIsWaitingNoTimeout;
178 _this->
m_xStatusEx.nPowerModeClass = (uint8_t)eNewPMClass;
180 return SYS_NO_ERROR_CODE;
sys_error_code_t(* pExecuteStepFunc_t)(AManagedTask *_this)
Definition AManagedTask.h:66
TODO - insert here the file description.
@ E_PM_CLASS_0
Definition AManagedTaskEx.h:44
SYS_DEFINE_STATIC_INLINE sys_error_code_t AMTExOnEnterPowerMode(AManagedTaskEx *_this, const EPowerMode eActivePowerMode, const EPowerMode eNewPowerMode)
Definition AManagedTaskEx_vtbl.h:121
SYS_DEFINE_STATIC_INLINE sys_error_code_t AMTExForceExecuteStep(AManagedTaskEx *_this, EPowerMode eActivePowerMode)
Definition AManagedTaskEx_vtbl.h:108
struct _AMTStatusEx AMTStatusEx
SYS_DEFINE_STATIC_INLINE sys_error_code_t AMTInitEx(AManagedTaskEx *_this)
Definition AManagedTaskEx_vtbl.h:136
SYS_DEFINE_STATIC_INLINE sys_error_code_t AMTExSetInactiveState(AManagedTaskEx *_this, boolean_t bBlockedSuspended)
Definition AManagedTaskEx_vtbl.h:159
struct _AManagedTaskEx_vtbl AManagedTaskEx_vtbl
Definition AManagedTaskEx_vtbl.h:36
SYS_DEFINE_STATIC_INLINE EPMClass AMTExGetPMClass(AManagedTaskEx *_this)
Definition AManagedTaskEx_vtbl.h:184
SYS_DEFINE_STATIC_INLINE boolean_t AMTExIsTaskInactive(AManagedTaskEx *_this)
Definition AManagedTaskEx_vtbl.h:168
SYS_DEFINE_STATIC_INLINE sys_error_code_t AMTExSetPMClass(AManagedTaskEx *_this, EPMClass eNewPMClass)
Definition AManagedTaskEx_vtbl.h:175
Definition AManagedTaskEx_vtbl.h:52
Definition AManagedTask_vtbl.h:53
uint8_t nAutoStart
Definition AManagedTask_vtbl.h:85
uint8_t nIsTaskStillRunning
Definition AManagedTask_vtbl.h:74
uint8_t nPowerModeSwitchDone
Definition AManagedTask_vtbl.h:69
uint8_t nDelayPowerModeSwitch
Definition AManagedTask_vtbl.h:58
uint8_t nErrorCount
Definition AManagedTask_vtbl.h:79
uint8_t nPowerModeSwitchPending
Definition AManagedTask_vtbl.h:63
Definition AManagedTaskEx_vtbl.h:64
TX_THREAD m_xTaskHandle
Definition AManagedTaskEx_vtbl.h:73
AMTStatus m_xStatus
Definition AManagedTaskEx_vtbl.h:94
const EPowerMode * m_pPMState2PMStateMap
Definition AManagedTaskEx_vtbl.h:89
struct _AManagedTaskEx * m_pNext
Definition AManagedTaskEx_vtbl.h:78
const AManagedTaskEx_vtbl * vptr
Definition AManagedTaskEx_vtbl.h:68
const pExecuteStepFunc_t * m_pfPMState2FuncMap
Definition AManagedTaskEx_vtbl.h:84
AMTStatusEx m_xStatusEx
Definition AManagedTaskEx_vtbl.h:99
Definition AManagedTask_vtbl.h:94
uint16_t sys_error_code_t
Definition syserror.h:41
#define SYS_DEFINE_STATIC_INLINE
Definition systp.h:95