• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 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 RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H
17 #define RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H
18 
19 #include <cstdint>
20 #include <map>
21 #include <string>
22 
23 namespace OHOS {
24 namespace ResourceSchedule {
25 namespace ResType {
26 enum : uint32_t {
27     // screen status, value 0 means screen off, value 1 means screen on, else are invalid.
28     RES_TYPE_SCREEN_STATUS = 0,
29     // app state change event; value means app state; payload:pid,uid,bundleName
30     RES_TYPE_APP_STATE_CHANGE = 1,
31     // ability state change event; value means ability state; payload:pid,uid,bundleName
32     RES_TYPE_ABILITY_STATE_CHANGE = 2,
33     // extension state change event; value means extension state; payload:pid,uid,bundleName
34     RES_TYPE_EXTENSION_STATE_CHANGE = 3,
35     // process state event; value 0:created, 1:died; payload:pid,uid,bundleName
36     RES_TYPE_PROCESS_STATE_CHANGE = 4,
37     // window focused event; value 0:focused, 1:unfocused; payload:pid,uid,bundleName,windowId,windowType,displayId
38     RES_TYPE_WINDOW_FOCUS = 5,
39     // transient task event; value 0:start, 1:finish; payload:pid,uid,bundleName
40     RES_TYPE_TRANSIENT_TASK = 6,
41     // continuous task event; value 0:start, 1:finish; payload:pid,uid,abilityName
42     RES_TYPE_CONTINUOUS_TASK = 7,
43     /* cgroup change event;
44      * value 0:set thread group sched; 1:set thread sched
45      * payload: pid,uid,name,oldGroup,newGroup
46      */
47     RES_TYPE_CGROUP_ADJUSTER = 8,
48     // ace gestures click_recognizer; value 1 touch event, value 2 click event
49     RES_TYPE_CLICK_RECOGNIZE = 9,
50     // ace pipeline_context.cpp::PushPage(); value 0: push_page_start, 1: push_page_complete
51     RES_TYPE_PUSH_PAGE = 10,
52     // ace slide event recognize; value 1: list fling on; 0: list fling off; 3: slide normal begin, 4: slide normal end.
53     RES_TYPE_SLIDE_RECOGNIZE = 11,
54     // window visibility change, value 1: isVisible, 0: not isVisible, payload:pid,uid,windowId,windowType
55     RES_TYPE_WINDOW_VISIBILITY_CHANGE = 12,
56     // report mmi_service service; value mmi_service tid; payload:uid,pid
57     RES_TYPE_REPORT_MMI_PROCESS = 13,
58     // report render thread; value render tid; payload:uid,pid
59     RES_TYPE_REPORT_RENDER_THREAD = 14,
60     // app install and uninstall event; value 0: uninstall, 1: install; payload:uid,bundleName
61     RES_TYPE_APP_INSTALL_UNINSTALL = 15,
62     // net connect state; value 0:unknow, 1:idle, 2:connecting, 3:connected, 4:disconnecting, 5:disconnected
63     RES_TYPE_WIFI_CONNECT_STATE_CHANGE = 16,
64     // user switch, value means the userId which switch to.
65     RES_TYPE_USER_SWITCH = 17,
66     // user remove, value means the userId which is removed.
67     RES_TYPE_USER_REMOVE = 18,
68     // screen unlock, value 0 means unlock, value 1 means locked.
69     RES_TYPE_SCREEN_LOCK = 19,
70     // bluetooth a2dp connect state, value 1: connected, 3: disconnected.
71     RES_TYPE_BLUETOOTH_A2DP_CONNECT_STATE_CHANGE = 20,
72     // network latency request, value 0: low latency, 1: normal latency, payload: identity
73     RES_TYPE_NETWORK_LATENCY_REQUEST = 21,
74     // call state update; value 0 : active, value 1 : holding, value 2 : dialing, value 3 : alerting,
75     // value 4 : incoming, value 5 : waiting, value 6 : disconnected, value 7 : disconnecting, value 8 : idle
76     RES_TYPE_CALL_STATE_UPDATE = 22,
77     // Other process modify the thread Qos, value for client name id, payload: tid : qos , clientpid, pid
78     RES_TYPE_THREAD_QOS_CHANGE = 23,
79     // audio render state change; value -1 : RENDERER_INVALID, value 0 : RENDERER_NEW, value 1 : RENDERER_PREPARED,
80     // value 2 : RENDERER_RUNNING, value 3 : RENDERER_STOPPED, value 4 : RENDERER_RELEASED, value 5 : RENDERER_PAUSED
81     // payload:uid,sessionId
82     RES_TYPE_AUDIO_RENDER_STATE_CHANGE = 24,
83     // audio ring mode change; value 0 : RINGER_MODE_NORMAL, value 1 : RINGER_MODE_SILENT
84     // value 2 : RINGER_MODE_VIBRATE
85     RES_TYPE_AUDIO_RING_MODE_CHANGE = 25,
86     // audio volume key change; value volume, payload volumeType eg.
87     // type -1 : STREAM_DEFAULT, type 0 : STREAM_VOICE_CALL, type 1 : STREAM_MUSIC, type 2 : STREAM_RING,
88     // type 3 : STREAM_MEDIA, type 4 : STREAM_VOICE_ASSISTANT,  type 5 : STREAM_SYSTEM, type 6 : STREAM_ALARM,
89     // type 7 : STREAM_NOTIFICATION, type 8 : STREAM_BLUETOOTH_SCO, type 9 : STREAM_ENFORCED_AUDIBLE,
90     // type 10 : STREAM_DTMF, type 11 : STREAM_TTS, type 12 : STREAM_ACCESSIBILITY, type 13 : STREAM_RECORDING
91     RES_TYPE_AUDIO_VOLUME_KEY_CHANGE = 26,
92     // app_ability_start_event : a very early app startup stub, when the app process has not been pulled up.
93     // stub position : ability_runtime ability_manager_service.cpp::StartAbilityInner().
94     // specifically : ability type is PAGE and ability launchMode is not SPECIFIED.
95     RES_TYPE_APP_ABILITY_START = 27,
96     // ace pipeline_context.cpp::PopPage(); value means nothing
97     RES_TYPE_POP_PAGE = 28,
98     // ace web gesture event recognize; value means nothing
99     RES_TYPE_WEB_GESTURE = 29,
100     // info from msdp, means device still state change(enter or exit)
101     RES_TYPE_DEVICE_STILL_STATE_CHANGE = 30,
102     // window resize event; value 0: resize window , value 1: stop resizing window.
103     RES_TYPE_RESIZE_WINDOW = 31,
104     // window move event; value 0: move window, value 1: stop moving window.
105     RES_TYPE_MOVE_WINDOW = 32,
106     // animation transition event; value 0: animation begin, value 1: animation end.
107     RES_TYPE_SHOW_REMOTE_ANIMATION = 33,
108     // load page; value 0: load page begin, value 1: load page end.
109     RES_TYPE_LOAD_PAGE = 34,
110     // drag status bar event; value 0: start drag, value 1: stop drag.
111     RES_TYPE_DRAG_STATUS_BAR = 37,
112     // report SceneBoard service, value pid; payload:uid, main_tid, bundleName
113     RES_TYPE_REPORT_SCENE_BOARD = 38,
114     // report key thread for render, value 0 add key Thread, 1 remove key thread, payload: uid, pid, tid, role
115     RES_TYPE_REPORT_KEY_THREAD = 39,
116     // report window state, value 0 add 1 remove, payload: uid, pid, windowId, serialNum state: 0 active 1 inactive
117     RES_TYPE_REPORT_WINDOW_STATE = 40,
118     // report scene sched, value 0 scene on 1 scene off, payload: uid, sceneId
119     RES_TYPE_REPORT_SCENE_SCHED = 41,
120 };
121 
122 inline const std::map<uint32_t, std::string> resTypeToStr = {
123     { RES_TYPE_SCREEN_STATUS, "SCREEN_STATUS" },
124     { RES_TYPE_APP_STATE_CHANGE, "APP_STATE_CHANGE" },
125     { RES_TYPE_ABILITY_STATE_CHANGE, "ABILITY_STATE_CHANGE" },
126     { RES_TYPE_EXTENSION_STATE_CHANGE, "EXTENSION_STATE_CHANGE" },
127     { RES_TYPE_PROCESS_STATE_CHANGE, "PROCESS_STATE_CHANGE" },
128     { RES_TYPE_WINDOW_FOCUS, "WINDOW_FOCUS" },
129     { RES_TYPE_TRANSIENT_TASK, "TRANSIENT_TASK" },
130     { RES_TYPE_CONTINUOUS_TASK, "CONTINUOUS_TASK" },
131     { RES_TYPE_CGROUP_ADJUSTER, "CGROUP_ADJUSTER" },
132     { RES_TYPE_CLICK_RECOGNIZE, "CLICK_RECOGNIZE" },
133     { RES_TYPE_PUSH_PAGE, "PUSH_PAGE" },
134     { RES_TYPE_SLIDE_RECOGNIZE, "SLIDE_RECOGNIZE" },
135     { RES_TYPE_WINDOW_VISIBILITY_CHANGE, "WINDOW_VISIBILITY_CHANGE" },
136     { RES_TYPE_REPORT_MMI_PROCESS, "REPORT_MMI_PROCESS" },
137     { RES_TYPE_REPORT_RENDER_THREAD, "REPORT_RENDER_THREAD" },
138     { RES_TYPE_APP_INSTALL_UNINSTALL, "APP_INSTALL_UNINSTALL" },
139     { RES_TYPE_WIFI_CONNECT_STATE_CHANGE, "WIFI_CONNECT_STATE_CHANGE" },
140     { RES_TYPE_USER_SWITCH, "USER_SWITCH" },
141     { RES_TYPE_USER_REMOVE, "USER_REMOVE" },
142     { RES_TYPE_SCREEN_LOCK, "SCREEN_LOCK" },
143     { RES_TYPE_BLUETOOTH_A2DP_CONNECT_STATE_CHANGE, "BLUETOOTH_A2DP_CONNECT_STATE_CHANGE" },
144     { RES_TYPE_NETWORK_LATENCY_REQUEST, "NETWORK_LATENCY_REQUEST" },
145     { RES_TYPE_CALL_STATE_UPDATE, "CALL_STATE_UPDATE" },
146     { RES_TYPE_THREAD_QOS_CHANGE, "THREAD_QOS_CHANGE" },
147     { RES_TYPE_AUDIO_RENDER_STATE_CHANGE, "AUDIO_RENDER_STATE_CHANGE" },
148     { RES_TYPE_AUDIO_RING_MODE_CHANGE, "AUDIO_RING_MODE_CHANGE" },
149     { RES_TYPE_AUDIO_VOLUME_KEY_CHANGE, "AUDIO_VOLUME_KEY_CHANGE" },
150     { RES_TYPE_APP_ABILITY_START, "APP_ABILITY_START" },
151     { RES_TYPE_POP_PAGE, "POP_PAGE" },
152     { RES_TYPE_WEB_GESTURE, "WEB_GESTURE" },
153     { RES_TYPE_DEVICE_STILL_STATE_CHANGE, "DEVICE_STILL_STATE_CHANGE" },
154     { RES_TYPE_RESIZE_WINDOW, "RES_TYPE_RESIZE_WINDOW" },
155     { RES_TYPE_MOVE_WINDOW, "RES_TYPE_MOVE_WINDOW" },
156     { RES_TYPE_SHOW_REMOTE_ANIMATION, "RES_TYPE_SHOW_REMOTE_ANIMATION" },
157     { RES_TYPE_LOAD_PAGE, "RES_TYPE_LOAD_PAGE" },
158     { RES_TYPE_DRAG_STATUS_BAR, "RES_TYPE_DRAG_STATUS_BAR" },
159     { RES_TYPE_REPORT_SCENE_BOARD, "RES_TYPE_REPORT_SCENE_BOARD" },
160     { RES_TYPE_REPORT_KEY_THREAD, "RES_TYPE_REPORT_KEY_THREAD" },
161     { RES_TYPE_REPORT_WINDOW_STATE, "RES_TYPE_REPORT_WINDOW_STATE" },
162     { RES_TYPE_REPORT_SCENE_SCHED, "RES_TYPE_REPORT_SCENE_SCHED" }
163 };
164 
165 /**
166  * @brief Screen status
167  */
168 enum ScreenStatus : int64_t {
169     SCREEN_OFF = 0,
170     SCREEN_ON = 1,
171 };
172 
173 /**
174  * @brief App install status
175  */
176 enum AppInstallStatus : int64_t {
177     APP_UNINSTALL = 0,
178     APP_INSTALL = 1,
179     APP_CHANGED = 2,
180     APP_REPLACED = 3,
181 };
182 
183 /**
184  * @brief Screen lock status
185  */
186 enum ScreenLockStatus : int64_t {
187     SCREEN_UNLOCK = 0,
188     SCREEN_LOCK = 1,
189 };
190 
191 /**
192  * @brief Process status
193  */
194 enum ProcessStatus : int64_t {
195     PROCESS_CREATED = 0,
196     PROCESS_DIED = 1,
197 };
198 
199 /**
200  * @brief Transient task status
201  */
202 enum TransientTaskStatus : int64_t {
203     TRANSIENT_TASK_START = 0,
204     TRANSIENT_TASK_END = 1,
205 };
206 
207 /**
208  * @brief Continuous task status
209  */
210 enum ContinuousTaskStatus : int64_t {
211     CONTINUOUS_TASK_START = 0,
212     CONTINUOUS_TASK_END = 1,
213 };
214 
215 /**
216  * @brief Window focus status
217  */
218 enum WindowFocusStatus : int64_t {
219     WINDOW_FOCUS = 0,
220     WINDOW_UNFOCUS = 1,
221 };
222 
223 /**
224  * @brief Window visibility status
225  */
226 enum WindowVisibilityStatus : int64_t {
227     INVISIBLE = 0,
228     VISIBLE = 1,
229 };
230 
231 /**
232  * @brief Slide event status
233  */
234 enum SlideEventStatus : int64_t {
235     SLIDE_EVENT_OFF = 0,
236     SLIDE_EVENT_ON = 1,
237     SLIDE_NORMAL_BEGIN = 3,
238     SLIDE_NORMAL_END = 4,
239 };
240 
241 /**
242  * @brief Click event type
243  */
244 enum ClickEventType : int64_t {
245     INVALID_EVENT = 0,
246     TOUCH_EVENT = 1,
247     CLICK_EVENT = 2,
248 };
249 
250 /**
251  * @brief PushPage event type
252  */
253 enum PushPageType : int64_t {
254     PUSH_PAGE_START = 0,
255     PUSH_PAGE_COMPLETE = 1,
256 };
257 
258 /**
259  * @brief App Start type
260  */
261 enum AppStartType : int64_t {
262     APP_WARM_START = 0,
263     APP_COLD_START = 1,
264 };
265 
266 /**
267  * @brief Window resize type
268  */
269 enum WindowResizeType : int64_t {
270     WINDOW_RESIZING = 0,
271     WINDOW_RESIZE_STOP = 1,
272 };
273 
274 /**
275  * @brief Window move type
276  */
277 enum WindowMoveType : int64_t {
278     WINDOW_MOVING = 0,
279     WINDOW_MOVE_STOP = 1,
280 };
281 
282 /**
283  * @brief Animation Change Status
284  */
285 enum ShowRemoteAnimationStatus : int64_t {
286     ANIMATION_BEGIN = 0,
287     ANIMATION_END = 1,
288 };
289 
290 /**
291  * @brief LoadPage event type
292  */
293 enum LoadPageType : int64_t {
294     LOAD_PAGE_START = 0,
295     LOAD_PAGE_COMPLETE = 1,
296 };
297 
298 /**
299  * @brief Animation change status
300  */
301 enum StatusBarDragStatus : int64_t {
302     DRAG_START = 0,
303     DRAG_END = 1,
304 };
305 
306 /**
307  * @brief Report change status
308  */
309 enum ReportChangeStatus : int64_t {
310     CREATE = 0,
311     REMOVE = 1,
312 };
313 
314 /**
315  * @brief Window State
316  */
317 enum WindowStates : int64_t {
318     ACTIVE = 0,
319     INACTIVE = 1,
320 };
321 
322 /**
323  * @brief Thread role
324  */
325 enum ThreadRole : int64_t {
326     USER_INTERACT = 0,
327     NORMAL_DISPLAY = 1,
328     IMPORTANT_DISPLAY = 2,
329     NORMAL_AUDIO = 3,
330     IMPORTANT_AUDIO = 4,
331 };
332 
333 /**
334  * @brief scene control
335  */
336 enum SceneControl : int64_t {
337     SCENE_IN = 0,
338     SCENE_OUT = 1,
339 };
340 
341 /**
342  * @brief web scene
343  */
344 enum WebScene : int64_t {
345     WEB_SCENE_LOAD_URL = 1001,
346     WEB_SCENE_CLICK = 1002,
347     WEB_SCENE_SLIDE = 1003,
348     WEB_SCENE_RESIZE = 1004,
349     WEB_SCENE_VISIBLE = 1005,
350 };
351 } // namespace ResType
352 } // namespace ResourceSchedule
353 } // namespace OHOS
354 
355 #endif // RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H
356