blob: 39032021f7ee22635ea264ec302e58337fcf83da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
/************************************************************/
/* ZST_StateTransitionor_func.c */
/* Function and variable source file */
/* ZIPC Designer Version 1.2.0 */
/************************************************************/
#include "ZST_include.h"
/*************************************************************
Function definition
*************************************************************/
#include <string.h>
//=================================
// API
//=================================
/**
* Initialize STM
*/
void stmInitializeInner() {
// Initialize previous state
memset(&g_stm_prv_state, 0, sizeof(g_stm_prv_state));
// Initialize current state
g_stm_crr_state = g_stm_prv_state;
/* Initialize restriction mode state */
stm_rem_initialize();
stm_rem_initialize_variable();
// Initialize homecsreen layer
stm_hsl_initialize();
stm_hsl_initialize_variable();
// Initialize apps layer
stm_apl_initialize();
stm_apl_initialize_variable();
// Initialize near_homecsreen layer
stm_nhl_initialize();
stm_nhl_initialize_variable();
/* Initialize restriction layer */
stm_rel_initialize();
stm_rel_initialize_variable();
g_stm_map_is_activated = STM_FALSE;
}
/**
* Transition State
*/
int stmTransitionStateInner(int event_id, StmState* state) {
g_stm_event = STM_GET_EVENT_FROM_ID(event_id);
g_stm_category = STM_GET_CATEGORY_FROM_ID(event_id);
g_stm_area = STM_GET_AREA_FROM_ID(event_id);
// restriction mode
stm_rem_event_call();
// homescreen layer
stm_hsl_event_call();
// apps layer
stm_apl_event_call();
// near_homecsreen layer
stm_nhl_event_call();
// restriction layer
stm_rel_event_call();
// on_screen layer
stm_osl_event_call();
// Copy current state for return
memcpy(state, &g_stm_crr_state, sizeof(g_stm_crr_state));
return 0;
}
/**
* Undo State
*/
void stmUndoStateInner() {
g_stm_event = StmEvtNoUndo;
// apps layer
stm_apl_event_call();
// near_homecsreen layer
stm_nhl_event_call();
// restriction layer
stm_rel_event_call();
// on_screen layer
stm_osl_event_call();
g_stm_crr_state = g_stm_prv_state;
}
|