VOS_VOID TAF_MMA_RegFsm( VOS_VOID ) { /* 预处理注册 */ TAF_FSM_RegisterFsm((TAF_MMA_GetPreFsmDescAddr()), "TAF:FSM:MMA:PreProcess", TAF_MMA_GetPreProcessStaTblSize(), TAF_MMA_GetPreProcessStaTbl(), VOS_NULL_PTR, VOS_NULL_PTR); /* 注册Main状态机 */ TAF_FSM_RegisterFsm((TAF_MMA_GetMainFsmDescAddr()), "TAF:FSM:MMA:MAIN", (VOS_UINT32)(TAF_MMA_GetMainStaTblSize()), TAF_MMA_GetMainStaTbl(), VOS_NULL_PTR, VOS_NULL_PTR); /* 注册Sub状态机 */ TAF_FSM_RegisterFsm((TAF_MMA_GetPhoneModeFsmDescAddr()), "TAF:FSM:MMA:Phone Mode", (VOS_UINT32)TAF_MMA_GetPhoneModeStaTblSize(), TAF_MMA_GetPhoneModeProcessStaTbl(), VOS_NULL_PTR, TAF_MMA_InitFsmCtx_PhoneMode); }
VOS_VOID TAF_MMA_RegFsm( VOS_VOID ) { /* 预处理注册 */ TAF_FSM_RegisterFsm((TAF_MMA_GetPreFsmDescAddr()), "TAF:FSM:MMA:PreProcess", TAF_MMA_GetPreProcessStaTblSize(), TAF_MMA_GetPreProcessStaTbl(), VOS_NULL_PTR, VOS_NULL_PTR); /* 注册Main状态机 */ TAF_FSM_RegisterFsm((TAF_MMA_GetMainFsmDescAddr()), "TAF:FSM:MMA:MAIN", (VOS_UINT32)(TAF_MMA_GetMainStaTblSize()), TAF_MMA_GetMainStaTbl(), VOS_NULL_PTR, VOS_NULL_PTR); /* 注册Sub状态机 */ /* 注册Phone Mode子状态机 */ TAF_FSM_RegisterFsm((TAF_MMA_GetPhoneModeFsmDescAddr()), "TAF:FSM:MMA:Phone Mode", (VOS_UINT32)TAF_MMA_GetPhoneModeStaTblSize(), TAF_MMA_GetPhoneModeProcessStaTbl(), VOS_NULL_PTR, TAF_MMA_InitFsmCtx_PhoneMode); #if (FEATURE_IMS == FEATURE_ON) /* 注册IMS SWITCH子状态机 */ TAF_FSM_RegisterFsm((TAF_MMA_GetImsSwitchFsmDescAddr()), "TAF:FSM:MMA:IMS SWITCH", (VOS_UINT32)TAF_MMA_GetImsSwitchStaTblSize(), TAF_MMA_GetImsSwitchProcessStaTbl(), VOS_NULL_PTR, VOS_NULL_PTR); #endif /* 注册SYS CFG SUB状态机 */ TAF_FSM_RegisterFsm((TAF_MMA_GetSysCfgFsmDescAddr()), "TAF:FSM:MMA:SYS CFG", (VOS_UINT32)TAF_MMA_GetSysCfgStaTblSize(), TAF_MMA_GetSysCfgProcessStaTbl(), VOS_NULL_PTR, TAF_MMA_InitFsmCtx_SysCfg); }
VOS_VOID TAF_MMA_LoadSubFsm( TAF_MMA_FSM_ID_ENUM_UINT32 enFsmId, TAF_MMA_FSM_CTX_STRU *pstCurFsm ) { switch ( enFsmId ) { case TAF_MMA_FSM_PHONE_MODE : pstCurFsm->ulState = TAF_MMA_PHONE_MODE_STA_INIT; pstCurFsm->pstFsmDesc = TAF_MMA_GetPhoneModeFsmDescAddr(); break; default: TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_LoadSubFsm:Invalid Fsm Id"); return; } /*执行初始化sub状态机的函数*/ pstCurFsm->pstFsmDesc->pfInitHandle(); }