• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_ABILITY_RUNTIME_APP_MGR_CONSTANTS_H
17 #define OHOS_ABILITY_RUNTIME_APP_MGR_CONSTANTS_H
18 
19 namespace OHOS {
20 namespace AppExecFwk {
21 namespace Constants {
22 constexpr const char* APP_MGR_SERVICE_NAME = "AppMgrService";
23 }  // namespace Constants
24 
25 enum class ApplicationState {
26     APP_STATE_CREATE = 0,
27     APP_STATE_READY,
28     APP_STATE_FOREGROUND,
29     APP_STATE_FOCUS,
30     APP_STATE_BACKGROUND,
31     APP_STATE_TERMINATED,
32     APP_STATE_END,
33     APP_STATE_SET_COLD_START = 99,
34     APP_STATE_CACHED = 100,
35     APP_STATE_PRE_FOREGROUND = 101,
36 };
37 
38 enum class WatchdogVisibilityState {
39     WATCHDOG_STATE_READY = 0,
40     WATCHDOG_STATE_VISIBILITY,
41     WATCHDOG_STATE_UNVISIBILITY,
42 };
43 
44 enum class ApplicationPendingState {
45     READY = 0,
46     FOREGROUNDING,
47     BACKGROUNDING,
48 };
49 
50 enum class ApplicationScheduleState {
51     SCHEDULE_READY = 0,
52     SCHEDULE_FOREGROUNDING,
53     SCHEDULE_BACKGROUNDING,
54 };
55 
56 enum class AbilityState {
57     ABILITY_STATE_CREATE = 0,
58     ABILITY_STATE_READY,
59     ABILITY_STATE_FOREGROUND,
60     ABILITY_STATE_FOCUS,
61     ABILITY_STATE_BACKGROUND,
62     ABILITY_STATE_TERMINATED,
63     ABILITY_STATE_END,
64     ABILITY_STATE_CONNECTED,
65     ABILITY_STATE_DISCONNECTED,
66 };
67 
68 enum class ExtensionState {
69     EXTENSION_STATE_CREATE = 0,
70     EXTENSION_STATE_READY,
71     EXTENSION_STATE_CONNECTED,
72     EXTENSION_STATE_DISCONNECTED,
73     EXTENSION_STATE_TERMINATED,
74     EXTENSION_STATE_FOREGROUND,
75     EXTENSION_STATE_BACKGROUND,
76 };
77 
78 enum AppMgrResultCode {
79     RESULT_OK = 0,
80     ERROR_SERVICE_NOT_READY,
81     ERROR_SERVICE_NOT_CONNECTED,
82     ERROR_KILL_APPLICATION,
83     ERROR_KILL_PROCESSES_BY_PIDS,
84 };
85 
86 enum class ProcessChangeReason {
87     REASON_NONE = 0,
88     REASON_REMOTE_DIED,
89     REASON_APP_TERMINATED,
90     REASON_APP_TERMINATED_TIMEOUT,
91 };
92 
93 enum class ProcessType {
94     NORMAL = 0,
95     EXTENSION,
96     RENDER,
97     GPU,
98     CHILD,
99 };
100 
101 enum class AppStartType {
102     COLD = 0,
103     HOT,
104     MULTI_INSTANCE,
105     PROCESS_CACHE_LAUNCH,
106     WARM
107 };
108 
109 enum class PreloadMode {
110     PRELOAD_NONE = -1,
111     PRESS_DOWN = 0,
112     PRE_MAKE = 1,
113     PRELOAD_MODULE = 2,
114     PRELOAD_BY_PHASE = 3,
115 };
116 
117 enum class PreloadPhase {
118     UNSPECIFIED = 0,
119     PROCESS_CREATED = 1,
120     ABILITY_STAGE_CREATED = 2,
121     WINDOW_STAGE_CREATED = 3
122 };
123 
124 enum class AppStartReason {
125     NONE = 0,
126     PRE_MAKE = 1,
127     PRELOAD_MODULE = 2,
128     SUGGEST_CACHE = 3,
129     PRESS_DOWN = 4,
130     PRELOAD_BY_PHASE_PROCESS_CREATED = 5,
131     PRELOAD_BY_PHASE_ABILITY_STAGE_CREATED = 6,
132     STARTUP_HIDE = 7,
133 };
134 
135 enum class PreloadState {
136     NONE = 0,
137     PRELOADING = 1,
138     PRELOADED = 2,
139 };
140 
141 enum class SupportProcessCacheState {
142     UNSPECIFIED = 0,
143     SUPPORT,
144     NOT_SUPPORT
145 };
146 }  // namespace AppExecFwk
147 }  // namespace OHOS
148 #endif  // OHOS_ABILITY_RUNTIME_APP_MGR_CONSTANTS_H
149