mmi_bootup_flow_start
static mmi_bootup_flow_cntx_struct g_mmi_bootup_flow_cntx;
typedef struct
{
mmi_frm_proc_struct *main_flow;
struct
{
MMI_BOOL timeout;
mmi_frm_proc_id_info_struct id_info;
} events_timer;
struct
{
mmi_frm_proc_id_info_struct id_info;
} disk_check;
struct
{
S8 disabled_count;
} interrupt;
} mmi_bootup_flow_cntx_struct;
g_mmi_bootup_flow_cntx.interrupt.disabled_count = 0;
创建了一个seq_proc
其结构体为:
mmi_frm_proc_seq_cntx_struct *cntx;
表示这个过程序列的
cntx->my_id = id; //1001
cntx->children_proc = sub_procs; //g_mmi_bootup_main_flow
cntx->n_children = n_sub_procs;
cntx->currently_executing_index = 0;
cntx->is_completed = MMI_FALSE;
cntx->status_callback = NULL;
cntx->user_data = NULL;
然后初始化了一个过程
mmi_frm_proc_init(proc, id, mmi_frm_proc_seq_entry, cntx);
赋值给了
mmi_frm_proc_struct *proc,
g_mmi_bootup_flow_cntx.main_flow =
{1001,mmi_frm_proc_seq_entry,cntx}
然后是给这个创建的seq_proc结构体中status_callback 和user_date 赋值
mmi_frm_proc_seq_set_status_callback(
g_mmi_bootup_flow_cntx.main_flow,
mmi_bootup_flow_stop_check,
&(g_mmi_bootup_flow_cntx));
然后调用mmi_frm_proc_post_complete_execute
进行执行的过程
mmi_frm_proc_post_complete_execute(
MMI_FRM_PROC_ID_BOOTUP_MAIN,
mmi_bootup_flow_completed,
&(g_mmi_bootup_flow_cntx),
g_mmi_bootup_flow_cntx.main_flow);
对于启动类的proc 为mmi_bootup_flow_completed
1,1001,这个是启动的时候
1001,2 MMI_FRM_PROC_ID_BOOTUP_WAIT_FOR_EVENTS
2,1002 con_proc
1002,MMI_FRM_PROC_ID_BOOTUP_WAITING_TIMER
mmi_frm_proc_con_cr_ex_child_completed_proc
static mmi_bootup_flow_cntx_struct g_mmi_bootup_flow_cntx;
typedef struct
{
mmi_frm_proc_struct *main_flow;
struct
{
MMI_BOOL timeout;
mmi_frm_proc_id_info_struct id_info;
} events_timer;
struct
{
mmi_frm_proc_id_info_struct id_info;
} disk_check;
struct
{
S8 disabled_count;
} interrupt;
} mmi_bootup_flow_cntx_struct;
g_mmi_bootup_flow_cntx.interrupt.disabled_count = 0;
创建了一个seq_proc
其结构体为:
mmi_frm_proc_seq_cntx_struct *cntx;
表示这个过程序列的
cntx->my_id = id; //1001
cntx->children_proc = sub_procs; //g_mmi_bootup_main_flow
cntx->n_children = n_sub_procs;
cntx->currently_executing_index = 0;
cntx->is_completed = MMI_FALSE;
cntx->status_callback = NULL;
cntx->user_data = NULL;
然后初始化了一个过程
mmi_frm_proc_init(proc, id, mmi_frm_proc_seq_entry, cntx);
赋值给了
mmi_frm_proc_struct *proc,
g_mmi_bootup_flow_cntx.main_flow =
{1001,mmi_frm_proc_seq_entry,cntx}
然后是给这个创建的seq_proc结构体中status_callback 和user_date 赋值
mmi_frm_proc_seq_set_status_callback(
g_mmi_bootup_flow_cntx.main_flow,
mmi_bootup_flow_stop_check,
&(g_mmi_bootup_flow_cntx));
然后调用mmi_frm_proc_post_complete_execute
进行执行的过程
mmi_frm_proc_post_complete_execute(
MMI_FRM_PROC_ID_BOOTUP_MAIN,
mmi_bootup_flow_completed,
&(g_mmi_bootup_flow_cntx),
g_mmi_bootup_flow_cntx.main_flow);
对于启动类的proc 为mmi_bootup_flow_completed
1,1001,这个是启动的时候
1001,2 MMI_FRM_PROC_ID_BOOTUP_WAIT_FOR_EVENTS
2,1002 con_proc
1002,MMI_FRM_PROC_ID_BOOTUP_WAITING_TIMER
mmi_frm_proc_con_cr_ex_child_completed_proc