1 /************************************************************/
2 /* ZST_StateTransitionor_func.c */
3 /* Function and variable source file */
4 /* ZIPC Designer Version 1.2.0 */
5 /************************************************************/
6 #include "ZST_include.h"
8 /*************************************************************
10 *************************************************************/
15 const char* kStmEventName[] = {
19 "restriction_mode_off",
20 "restriction_mode_1_on",
21 "restriction_mode_2_on",
25 const char* kStmCategoryName[] = {
38 const char* kStmAreaName[] = {
46 "restriction.split.main",
47 "restriction.split.sub",
51 const char* kStmLayoutName[] = {
63 "restriction.split.main",
64 "restriction.split.sub",
69 const char* kStmLayerName[] = {
77 const char* kStmModeName[] = {
87 const char* kStmRestrictionModeStateName[] = {
93 const char** kStmModeStateNameList[] = {
94 kStmRestrictionModeStateName,
98 //=================================
100 //=================================
104 void stmInitialize() {
105 // Initialize previous state
106 memset(&g_stm_prv_state, 0, sizeof(g_stm_prv_state));
108 // Initialize current state
109 g_stm_crr_state = g_stm_prv_state;
111 /* Initialize restriction mode state */
112 stm_rem_initialize();
113 stm_rem_initialize_variable();
115 // Initialize homecsreen layer
116 stm_hsl_initialize();
117 stm_hsl_initialize_variable();
119 // Initialize apps layer
120 stm_apl_initialize();
121 stm_apl_initialize_variable();
123 // Initialize near_homecsreen layer
124 stm_nhl_initialize();
125 stm_nhl_initialize_variable();
127 /* Initialize restriction layer */
128 stm_rel_initialize();
129 stm_rel_initialize_variable();
131 g_stm_map_is_activated = STM_FALSE;
137 int stmTransitionState(int event_id, StmState* state) {
138 g_stm_event = STM_GET_EVENT_FROM_ID(event_id);
139 g_stm_category = STM_GET_CATEGORY_FROM_ID(event_id);
140 g_stm_area = STM_GET_AREA_FROM_ID(event_id);
143 stm_rem_event_call();
146 stm_hsl_event_call();
149 stm_apl_event_call();
151 // near_homecsreen layer
152 stm_nhl_event_call();
155 stm_rel_event_call();
158 stm_osl_event_call();
160 // Copy current state for return
161 memcpy(state, &g_stm_crr_state, sizeof(g_stm_crr_state));
169 void stmUndoState() {
170 g_stm_event = StmEvtNoUndo;
173 stm_apl_event_call();
175 // near_homecsreen layer
176 stm_nhl_event_call();
179 stm_rel_event_call();
182 stm_osl_event_call();
184 g_stm_crr_state = g_stm_prv_state;