1 /* 2 * Copyright (c) 2022 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: slide on; 0: slide off 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 // slide normal event; value 0: slide normal begin, value 1: slide normal end. 109 RES_TYPE_SLIDE_NORMAL = 34, 110 }; 111 112 static const std::map<uint32_t, std::string> resTypeToStr = { 113 { RES_TYPE_SCREEN_STATUS, "SCREEN_STATUS" }, 114 { RES_TYPE_APP_STATE_CHANGE, "APP_STATE_CHANGE" }, 115 { RES_TYPE_ABILITY_STATE_CHANGE, "ABILITY_STATE_CHANGE" }, 116 { RES_TYPE_EXTENSION_STATE_CHANGE, "EXTENSION_STATE_CHANGE" }, 117 { RES_TYPE_PROCESS_STATE_CHANGE, "PROCESS_STATE_CHANGE" }, 118 { RES_TYPE_WINDOW_FOCUS, "WINDOW_FOCUS" }, 119 { RES_TYPE_TRANSIENT_TASK, "TRANSIENT_TASK" }, 120 { RES_TYPE_CONTINUOUS_TASK, "CONTINUOUS_TASK" }, 121 { RES_TYPE_CGROUP_ADJUSTER, "CGROUP_ADJUSTER" }, 122 { RES_TYPE_CLICK_RECOGNIZE, "CLICK_RECOGNIZE" }, 123 { RES_TYPE_PUSH_PAGE, "PUSH_PAGE" }, 124 { RES_TYPE_SLIDE_RECOGNIZE, "SLIDE_RECOGNIZE" }, 125 { RES_TYPE_WINDOW_VISIBILITY_CHANGE, "WINDOW_VISIBILITY_CHANGE" }, 126 { RES_TYPE_REPORT_MMI_PROCESS, "REPORT_MMI_PROCESS" }, 127 { RES_TYPE_REPORT_RENDER_THREAD, "REPORT_RENDER_THREAD" }, 128 { RES_TYPE_APP_INSTALL_UNINSTALL, "APP_INSTALL_UNINSTALL" }, 129 { RES_TYPE_WIFI_CONNECT_STATE_CHANGE, "WIFI_CONNECT_STATE_CHANGE" }, 130 { RES_TYPE_USER_SWITCH, "USER_SWITCH" }, 131 { RES_TYPE_USER_REMOVE, "USER_REMOVE" }, 132 { RES_TYPE_SCREEN_LOCK, "SCREEN_LOCK" }, 133 { RES_TYPE_BLUETOOTH_A2DP_CONNECT_STATE_CHANGE, "BLUETOOTH_A2DP_CONNECT_STATE_CHANGE" }, 134 { RES_TYPE_NETWORK_LATENCY_REQUEST, "NETWORK_LATENCY_REQUEST" }, 135 { RES_TYPE_CALL_STATE_UPDATE, "CALL_STATE_UPDATE" }, 136 { RES_TYPE_THREAD_QOS_CHANGE, "THREAD_QOS_CHANGE" }, 137 { RES_TYPE_AUDIO_RENDER_STATE_CHANGE, "AUDIO_RENDER_STATE_CHANGE" }, 138 { RES_TYPE_AUDIO_RING_MODE_CHANGE, "AUDIO_RING_MODE_CHANGE" }, 139 { RES_TYPE_AUDIO_VOLUME_KEY_CHANGE, "AUDIO_VOLUME_KEY_CHANGE" }, 140 { RES_TYPE_APP_ABILITY_START, "APP_ABILITY_START" }, 141 { RES_TYPE_POP_PAGE, "POP_PAGE" }, 142 { RES_TYPE_WEB_GESTURE, "WEB_GESTURE" }, 143 { RES_TYPE_DEVICE_STILL_STATE_CHANGE, "DEVICE_STILL_STATE_CHANGE" }, 144 { RES_TYPE_RESIZE_WINDOW, "RES_TYPE_RESIZE_WINDOW" }, 145 { RES_TYPE_MOVE_WINDOW, "RES_TYPE_MOVE_WINDOW" }, 146 { RES_TYPE_SHOW_REMOTE_ANIMATION, "RES_TYPE_SHOW_REMOTE_ANIMATION" }, 147 { RES_TYPE_SLIDE_NORMAL, "RES_TYPE_SLIDE_NORMAL" } 148 }; 149 150 /** 151 * @brief Screen status 152 */ 153 enum ScreenStatus : int64_t { 154 SCREEN_OFF = 0, 155 SCREEN_ON = 1, 156 }; 157 158 /** 159 * @brief App install status 160 */ 161 enum AppInstallStatus : int64_t { 162 APP_UNINSTALL = 0, 163 APP_INSTALL = 1, 164 }; 165 166 /** 167 * @brief Screen lock status 168 */ 169 enum ScreenLockStatus : int64_t { 170 SCREEN_UNLOCK = 0, 171 SCREEN_LOCK = 1, 172 }; 173 174 /** 175 * @brief Process status 176 */ 177 enum ProcessStatus : int64_t { 178 PROCESS_CREATED = 0, 179 PROCESS_DIED = 1, 180 }; 181 182 /** 183 * @brief Transient task status 184 */ 185 enum TransientTaskStatus : int64_t { 186 TRANSIENT_TASK_START = 0, 187 TRANSIENT_TASK_END = 1, 188 }; 189 190 /** 191 * @brief Continuous task status 192 */ 193 enum ContinuousTaskStatus : int64_t { 194 CONTINUOUS_TASK_START = 0, 195 CONTINUOUS_TASK_END = 1, 196 }; 197 198 /** 199 * @brief Window focus status 200 */ 201 enum WindowFocusStatus : int64_t { 202 WINDOW_FOCUS = 0, 203 WINDOW_UNFOCUS = 1, 204 }; 205 206 /** 207 * @brief Window visibility status 208 */ 209 enum WindowVisibilityStatus : int64_t { 210 INVISIBLE = 0, 211 VISIBLE = 1, 212 }; 213 214 /** 215 * @brief Slide event status 216 */ 217 enum SlideEventStatus : int64_t { 218 SLIDE_EVENT_OFF = 0, 219 SLIDE_EVENT_ON = 1, 220 }; 221 222 /** 223 * @brief Click event type 224 */ 225 enum ClickEventType : int64_t { 226 INVALID_EVENT = 0, 227 TOUCH_EVENT = 1, 228 CLICK_EVENT = 2, 229 }; 230 231 /** 232 * @brief PushPage event type 233 */ 234 enum PushPageType : int64_t { 235 PUSH_PAGE_START = 0, 236 PUSH_PAGE_COMPLETE = 1, 237 }; 238 239 /** 240 * @brief App Start type 241 */ 242 enum AppStartType : int64_t { 243 APP_WARM_START = 0, 244 APP_COLD_START = 1, 245 }; 246 247 /** 248 * @brief Window resize type 249 */ 250 enum WindowResizeType : int64_t { 251 WINDOW_RESIZING = 0, 252 WINDOW_RESIZE_STOP = 1, 253 }; 254 255 /** 256 * @brief Window move type 257 */ 258 enum WindowMoveType : int64_t { 259 WINDOW_MOVING = 0, 260 WINDOW_MOVE_STOP = 1, 261 }; 262 263 /** 264 * @brief Animation Change Status 265 */ 266 enum ShowRemoteAnimationStatus : int64_t { 267 ANIMATION_BEGIN = 0, 268 ANIMATION_END = 1, 269 }; 270 271 /** 272 * @brief Slide normal Status 273 */ 274 enum SlideNormalStatus : int64_t { 275 SLIDE_NORMAL_BEGIN = 0, 276 SLIDE_NORMAL_END = 1, 277 }; 278 } // namespace ResType 279 } // namespace ResourceSchedule 280 } // namespace OHOS 281 282 #endif // RESSCHED_INTERFACES_INNERKITS_RESSCHED_CLIENT_INCLUDE_RES_TYPE_H 283