1 /*
2  * Copyright (c) 2022-2024 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 "res_value.h"
20 
21 namespace OHOS {
22 namespace ResourceSchedule {
23 namespace ResType {
24 enum : uint32_t {
25     // first resType
26     RES_TYPE_FIRST = 0,
27     // screen status, value 0 means screen off, value 1 means screen on, else are invalid.
28     RES_TYPE_SCREEN_STATUS = RES_TYPE_FIRST,
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     RES_TYPE_AUDIO_VOLUME_KEY_CHANGE = 26,
87     // app_ability_start_event : a very early app startup stub, when the app process has not been pulled up.
88     // stub position : ability_runtime ability_manager_service.cpp::StartAbilityInner().
89     // specifically : ability type is PAGE and ability launchMode is not SPECIFIED.
90     RES_TYPE_APP_ABILITY_START = 27,
91     // ace pipeline_context.cpp::PopPage(); value means nothing
92     RES_TYPE_POP_PAGE = 28,
93     // ace web gesture event recognize; value means nothing
94     RES_TYPE_WEB_GESTURE = 29,
95     // info from msdp, means device still state change(enter or exit)
96     RES_TYPE_DEVICE_STILL_STATE_CHANGE = 30,
97     // window resize event; value 0: resize window , value 1: stop resizing window.
98     RES_TYPE_RESIZE_WINDOW = 31,
99     // window move event; value 0: move window, value 1: stop moving window.
100     RES_TYPE_MOVE_WINDOW = 32,
101     // animation transition event; value 0: animation begin, value 1: animation end.
102     RES_TYPE_SHOW_REMOTE_ANIMATION = 33,
103     // load page; value 0: load page begin, value 1: load page end.
104     RES_TYPE_LOAD_PAGE = 34,
105     // report camera state, value 0: camera connect; value 1: camera disconnect
106     RES_TYPE_REPORT_CAMERA_STATE = 35,
107     // report runningLock state, value 0: runningLock disable; value 1: runningLock enable;
108     // value 2: runningLock is proxied; value 3: runningLock is not proxied
109     RES_TYPE_RUNNINGLOCK_STATE = 36,
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     // web gesture move event; value 0: web gesture move start, value 1: web gesture move end.
121     RES_TYPE_WEB_GESTURE_MOVE = 42,
122     // web slide normal event; value 0: web slide normal start, value 1: web slide normal end.
123     RES_TYPE_WEB_SLIDE_NORMAL = 43,
124     // load url event; value means nothing.
125     RES_TYPE_LOAD_URL = 44,
126     // mousewheel event; value means nothing.
127     RES_TYPE_MOUSEWHEEL = 45,
128     // report webview audio status, value 0 start 1 stop, payload: uid, pid, tid
129     RES_TYPE_WEBVIEW_AUDIO_STATUS_CHANGE = 46,
130     // report entering the multimodalinput state, value means subscribed multimodalinput state.
131     RES_TYPE_MMI_INPUT_STATE = 47,
132     // report anco load protect file config
133     RES_TYPE_ANCO_CUST = 48,
134     // report time zone changed
135     RES_TYPE_TIMEZONE_CHANGED = 50,
136     // report connection status
137     RES_TYPE_CONNECTION_OBSERVER = 51,
138     // report av session create event
139     RES_TYPE_AV_SESSION_ON_SESSION_CREATE = 52,
140     // report av session release event
141     RES_TYPE_AV_SESSION_ON_SESSION_RELEASE = 53,
142     // report av session change event
143     RES_TYPE_AV_SESSION_ON_TOP_SESSION_CHANGE = 54,
144     // report OnAppStateChanged event
145     RES_TYPE_ON_APP_STATE_CHANGED = 55,
146     // report efficiency resources event
147     RES_TYPE_EFFICIENCY_RESOURCES_STATE_CHANGED = 56,
148     // report av_codec state, value 0:codec start info, value 1:codec stop info.
149     RES_TYPE_AV_CODEC_STATE = 57,
150     // 58-64 value do not change
151     RES_TYPE_NITZ_TIME_CHANGED = 58,
152     RES_TYPE_TIME_CHANGED = 59,
153     RES_TYPE_NITZ_TIMEZONE_CHANGED = 60,
154     RES_TYPE_CHARGING_DISCHARGING = 61,
155     RES_TYPE_USB_DEVICE = 62,
156     RES_TYPE_CALL_STATE_CHANGED = 63,
157     RES_TYPE_WIFI_P2P_STATE_CHANGED = 64,
158     // report app associated start to performance radar
159     RES_TYPE_APP_ASSOCIATED_START = 65,
160     // report thermal state event
161     RES_TYPE_THERMAL_STATE = 66,
162     // socperf event begin
163     RES_TYPE_SOCPERF_CUST_EVENT_BEGIN = 67,
164     // socperf event end
165     RES_TYPE_SOCPERF_CUST_EVENT_END = 68,
166     // window drawing content change event
167     RES_TYPE_WINDOW_DRAWING_CONTENT_CHANGE = 69,
168 
169     // report vediuo capture start or stop
170     RES_TYPE_REPORT_SCREEN_CAPTURE = 70,
171     // report long frame, value 0 scene on 1 scene off.
172     RES_TYPE_LONG_FRAME = 71,
173     // report key perf scene, value 0 enter scene 1 exit scene.
174     RES_TYPE_KEY_PERF_SCENE = 72,
175     // report super launcher state
176     RES_TYPE_SUPER_LAUNCHER = 73,
177     // report cast screen state
178     RES_TYPE_CAST_SCREEN = 74,
179     // report screen collabroation state
180     RES_TYPR_SCREEN_COLLABROATION = 75,
181     // report sa control app event, eg: start app or stop app
182     RES_TYPE_SA_CONTROL_APP_EVENT = 76,
183     // report CPU load of the entire machine,payload:cpuPercent
184     RES_TYPE_SYSTEM_CPU_LOAD = 77,
185     // report download Or Upload scene,value 0 enter scene 1 exit scene.
186     RES_TYPE_UPLOAD_DOWNLOAD = 78,
187     // report main screen split,value 0 enter scene 1 exit scene.
188     RES_TYPE_SPLIT_SCREEN = 79,
189     // report main screen floating window,value 0 enter scene 1 exit scene.
190     RES_TYPE_FLOATING_WINDOW = 80,
191     // report event distribute tid, value tid, payload uid, pid.
192     RES_TYPE_REPORT_DISTRIBUTE_TID = 81,
193     // report frame rate
194     RES_TYPE_FRAME_RATE_REPORT = 82,
195     // report web screen capture, value 0 start, value 1 stop
196     RES_TYPE_WEBVIEW_SCREEN_CAPTURE = 83,
197     // report video state. value 0 start playing, value 1 stop playing
198     RES_TYPE_WEBVIEW_VIDEO_STATUS_CHANGE = 84,
199 
200     // report location status. value 0 app status, value 1 switch status
201     RES_TYPE_LOCATION_STATUS_CHANGE = 85,
202     // report silent playback
203     RES_TYPE_AUDIO_SILENT_PLAYBACK = 86,
204     // report display mode event, value status, payload mode.
205     RES_TYPE_DEVICE_MODE_STATUS = 88,
206     // report distribute component change
207     RES_TYPE_REPORT_DISTRIBUTE_COMPONENT_CHANGE = 89,
208     // report formCard create start/end
209     RES_TYPE_FORM_STATE_CHANGE_EVENT = 91,
210     // report power mode changed
211     RES_TYPE_POWER_MODE_CHANGED = 92,
212     // report thermal scenario changed
213     RES_TYPE_THERMAL_SCENARIO_REPORT = 93,
214     // report boot completed
215     RES_TYPE_BOOT_COMPLETED = 94,
216     // report continuous application startup
217     RES_TYPE_CONTINUOUS_STARTUP = 95,
218     // report account activating
219     RES_TYPE_ACCOUNT_ACTIVATING = 96,
220     // report silent playback in renderer
221     RES_TYPE_AUDIO_RENDERER_SILENT_PLAYBACK = 97,
222     // report continuous application install
223     RES_TYPE_CONTINUOUS_INSTALL = 98,
224     // report system updated
225     RES_TYPE_FIRST_BOOT_AFTER_SYSTEM_UPGRADE = 99,
226     // report background perceivable scene
227     RES_TYPE_BACKGROUND_PERCEIVABLE_SCENE = 100,
228     // user interaction scene
229     RES_TYPE_USER_INTERACTION_SCENE = 101,
230     // report game sched, value 0 start, value 1 stop
231     RES_TYPE_REPORT_GAME_SCHED = 102,
232     // report send frame event
233     RES_TYPE_SEND_FRAME_EVENT = 103,
234     // report app cold start only perf, value 0 start, value 1 stop
235     RES_TYPE_ONLY_PERF_APP_COLD_START = 104,
236     // report scene rotation, value 0 start, value 1 stop
237     RES_TYPE_SCENE_ROTATION = 105,
238     // report cloud config update
239     RES_TYPE_CLOUD_CONFIG_UPDATE = 107,
240     // system ability status change
241     RES_TYPE_SYSTEM_ABILITY_STATUS_CHANGE = 108,
242     // mmi status change
243     RES_TYPE_MMI_STATUS_CHANGE = 109,
244     // report media output device change
245     RES_TYPE_OUTPUT_DEVICE_CHANGE = 110,
246     // report device idle
247     RES_TYPE_DEVICE_IDLE = 111,
248     // report media output device change
249     RES_TYPE_BT_SERVICE_EVENT = 112,
250     // report to hisi, let bmm_report begin change
251     RES_TYPE_BMM_MONITER_CHANGE_EVENT = 113,
252     // app frame drop event
253     RES_TYPE_APP_FRAME_DROP = 114,
254     // report rss cloud config update
255     RES_TYPE_RSS_CLOUD_CONFIG_UPDATE = 115,
256     // report game info
257     RES_TYPE_GAME_INFO_NOTIFY = 116,
258     // report application stopped
259     RES_TYPE_APP_STOPPED = 118,
260     // report audio session enter standby
261     RES_TYPE_AUDIO_RENDERER_STANDBY = 119,
262     // game boost event
263     RES_TYPE_APP_GAME_BOOST_EVENT = 120,
264     // last async resType
265     ASYNC_RES_TYPE_LAST,
266     // first sync resType
267     SYNC_RES_TYPE_FIRST = ASYNC_RES_TYPE_LAST,
268     // thaw one application
269     SYNC_RES_TYPE_THAW_ONE_APP,
270     // get all suspend state
271     SYNC_RES_TYPE_GET_ALL_SUSPEND_STATE,
272     // get thermal data
273     SYNC_RES_TYPE_GET_THERMAL_DATA,
274     // check shoul force kill process,
275     SYNC_RES_TYPE_SHOULD_FORCE_KILL_PROCESS,
276     // get nweb preload process set
277     SYNC_RES_TYPE_GET_NWEB_PRELOAD_SET,
278     // report to request or release mutex status
279     SYNC_RES_TYPE_REQUEST_MUTEX_STATUS = 500,
280     // report to check mutex before start
281     SYNC_RES_TYPE_CHECK_MUTEX_BEFORE_START = 501,
282     // report cosmic cube info
283     RES_TYPE_COSMIC_CUBE_STATE_CHANGE = 502,
284     // last sync resType
285     SYNC_RES_TYPE_LAST,
286     // last resType
287     RES_TYPE_LAST = SYNC_RES_TYPE_LAST,
288 };
289 } // namespace ResType
290 } // namespace ResourceSchedule
291 } // namespace OHOS
292 
293 #endif // RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H
294