1# Copyright (c) 2022-2025 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//build/test.gni") 16import("../ressched.gni") 17 18config("ressched_config") { 19 include_dirs = [ 20 "${ressched_common}/include", 21 "resschedmgr/resschedfwk/include", 22 "resschedmgr/pluginbase/include", 23 ] 24} 25 26config("resschedsvc_public_config") { 27 include_dirs = [ 28 "${ressched_common}/include", 29 "resschedmgr/resschedfwk/include", 30 "resschedmgr/pluginbase/include", 31 "suspend_manager_base/include", 32 ] 33} 34 35config("resschedsvc_private_config") { 36 include_dirs = [ 37 "resschedservice/include", 38 "../scene_recognize/include", 39 "../sched_controller/common_event/include", 40 "../sched_controller/observer/include", 41 ] 42} 43 44config("suspend_manager_base_service_public_config") { 45 include_dirs = [ 46 "${ressched_common}/include", 47 "resschedmgr/resschedfwk/include", 48 "resschedmgr/pluginbase/include", 49 "resschedservice/include", 50 "suspend_manager_base/include", 51 "${ressched_interfaces}/innerkits/suspend_manager_base_client/include", 52 ] 53} 54 55ohos_source_set("suspend_manager_base_service") { 56 sanitize = { 57 cfi = true 58 cfi_cross_dso = true 59 debug = false 60 } 61 deps = [ 62 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 63 "../common:ressched_common_utils", 64 ] 65 66 sources = [ 67 "suspend_manager_base/src/suspend_manager_base_service.cpp", 68 "suspend_manager_base/src/suspend_manager_base_observer.cpp", 69 ] 70 71 public_configs = [ 72 "${ressched_interfaces}/innerkits/ressched_client:suspend_manager_base_client_public_config", 73 ":suspend_manager_base_service_public_config", 74 "${ressched_interfaces}/innerkits/ressched_client:client_public_config", 75 ] 76 77 external_deps = [ 78 "hilog:libhilog", 79 "init:libbegetutil", 80 "init:libbeget_proxy", 81 "access_token:libaccesstoken_sdk", 82 "access_token:libtokenid_sdk", 83 "json:nlohmann_json_static", 84 "eventhandler:libeventhandler", 85 "libxml2:libxml2", 86 "ipc:ipc_core", 87 "ipc:ipc_single", 88 "samgr:samgr_proxy", 89 ] 90 branch_protector_ret = "pac_ret" 91 92 subsystem_name = "resourceschedule" 93 part_name = "resource_schedule_service" 94} 95 96ohos_shared_library("resschedsvc") { 97 configs = [ ":resschedsvc_private_config" ] 98 99 cflags_cc = [ 100 "-fdata-sections", 101 "-ffunction-sections", 102 "-fstack-protector-strong", 103 "-Os", 104 ] 105 106 public_configs = [ 107 ":resschedsvc_public_config", 108 "${ressched_interfaces}/innerkits/ressched_client:client_public_config", 109 ] 110 111 defines = [] 112 include_dirs = [ "../common/include" ] 113 114 sources = [ 115 "../scene_recognize/src/background_sensitive_task_overlapping_scene_recognizer.cpp", 116 "../scene_recognize/src/continuous_app_install_recognizer.cpp", 117 "../scene_recognize/src/scene_recognizer_base.cpp", 118 "../scene_recognize/src/scene_recognizer_mgr.cpp", 119 "../scene_recognize/src/slide_recognizer.cpp", 120 "../scene_recognize/src/system_upgrade_scene_recognizer.cpp", 121 "../sched_controller/common_event/src/event_controller.cpp", 122 "../sched_controller/observer/src/account_observer.cpp", 123 "../sched_controller/observer/src/audio_observer.cpp", 124 "../sched_controller/observer/src/connection_subscriber.cpp", 125 "../sched_controller/observer/src/download_upload_observer.cpp", 126 "../sched_controller/observer/src/fold_display_mode_observer.cpp", 127 "../sched_controller/observer/src/window_state_observer.cpp", 128 "../sched_controller/observer/src/app_state_observer.cpp", 129 "../sched_controller/observer/src/app_startup_scene_rec.cpp", 130 "../sched_controller/observer/src/observer_manager.cpp", 131 "resschedmgr/resschedfwk/src/config_reader.cpp", 132 "resschedmgr/resschedfwk/src/event_listener_mgr.cpp", 133 "resschedmgr/resschedfwk/src/kill_process.cpp", 134 "resschedmgr/resschedfwk/src/notifier_mgr.cpp", 135 "resschedmgr/resschedfwk/src/plugin_mgr.cpp", 136 "resschedmgr/resschedfwk/src/plugin_switch.cpp", 137 "resschedmgr/resschedfwk/src/res_sched_mgr.cpp", 138 "resschedservice/src/res_sched_service.cpp", 139 "resschedservice/src/res_sched_service_ability.cpp", 140 ] 141 142 deps = [ 143 "${ressched_interfaces}/innerkits/ressched_client:res_sched_service_stub", 144 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 145 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 146 "../common:ressched_common_utils", 147 ":suspend_manager_base_service", 148 ] 149 150 external_deps = [ 151 "ability_base:want", 152 "ability_runtime:ability_manager", 153 "ability_runtime:app_manager", 154 "ability_runtime:connection_obs_manager", 155 "ability_runtime:wantagent_innerkits", 156 "access_token:libaccesstoken_sdk", 157 "access_token:libtokenid_sdk", 158 "background_task_mgr:bgtaskmgr_innerkits", 159 "bundle_framework:appexecfwk_base", 160 "bundle_framework:appexecfwk_core", 161 "common_event_service:cesfwk_innerkits", 162 "config_policy:configpolicy_util", 163 "ffrt:libffrt", 164 "hilog:libhilog", 165 "hisysevent:libhisysevent", 166 "hitrace:hitrace_meter", 167 "hitrace:libhitracechain", 168 "init:libbegetutil", 169 "ipc:ipc_single", 170 "libxml2:libxml2", 171 "os_account:os_account_innerkits", 172 "safwk:system_ability_fwk", 173 "samgr:samgr_proxy", 174 "window_manager:libdm", 175 "window_manager:libwm", 176 "window_manager:libwm_lite", 177 ] 178 179 public_external_deps = [ 180 "c_utils:utils", 181 "eventhandler:libeventhandler", 182 "json:nlohmann_json_static", 183 "samgr:samgr_proxy", 184 "libxml2:libxml2", 185 ] 186 187 if (resource_schedule_service_with_app_nap_enable) { 188 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_APP_NAP_ENABLE" ] 189 external_deps += [ "hisysevent:libhisyseventmanager" ] 190 sources += [ 191 "../sched_controller/observer/src/hisysevent_observer.cpp", 192 "../sched_controller/observer/src/mmi_observer.cpp", 193 ] 194 } 195 if (device_movement_perception_enable) { 196 defines += [ "DEVICE_MOVEMENT_PERCEPTION_ENABLE" ] 197 external_deps += [ "movement:movement_client" ] 198 sources += 199 [ "../sched_controller/observer/src/device_movement_observer.cpp" ] 200 } 201 if (ressched_with_telephony_state_registry_enable) { 202 defines += [ "RESSCHED_TELEPHONY_STATE_REGISTRY_ENABLE" ] 203 external_deps += [ 204 "core_service:tel_core_service_api", 205 "state_registry:tel_state_registry_api", 206 ] 207 sources += 208 [ "../sched_controller/observer/src/sched_telephony_observer.cpp" ] 209 } 210 if (communication_bluetooth_perception_enable) { 211 defines += [ "RESSCHED_COMMUNICATION_BLUETOOTH_ENABLE" ] 212 external_deps += [ "bluetooth:btframework" ] 213 } 214 if (ressched_with_resourceschedule_multimedia_av_session_enable) { 215 defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] 216 sources += 217 [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] 218 external_deps += [ "av_session:avsession_client" ] 219 } 220 if (has_bg_task_mgr) { 221 defines += [ "CONFIG_BGTASK_MGR" ] 222 sources += [ "../sched_controller/observer/src/background_task_observer.cpp" ] 223 external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 224 } 225 if (ressched_with_resourceschedule_multimedia_audio_framework_enable) { 226 defines += [ "RESSCHED_AUDIO_FRAMEWORK_ENABLE" ] 227 external_deps += [ "audio_framework:audio_client" ] 228 } 229 if (resource_schedule_service_with_ffrt_enable) { 230 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 231 } 232 if (resource_schedule_service_with_ext_res_enable) { 233 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_EXT_RES_ENABLE" ] 234 } 235 if (rss_request_enable) { 236 defines += [ "RESOURCE_REQUEST_REQUEST" ] 237 external_deps += [ "request:request_native" ] 238 } 239 if (rss_mmi_enable) { 240 defines += [ "MMI_ENABLE" ] 241 external_deps += [ "input:libmmi-client" ] 242 } 243 if (ressched_with_resourceschedule_soc_perf_enable && 244 resource_schedule_service_file_copy_soc_perf_enable) { 245 defines += [ "RESSCHED_RESOURCESCHEDULE_FILE_COPY_SOC_PERF_ENABLE" ] 246 } 247 if (resource_schedule_service_system_load_level_debug_feature_enable_for_2d) { 248 defines += [ "SET_SYSTEM_LOAD_LEVEL_2D_ENABLE" ] 249 } 250 external_deps += [ "data_share:datashare_consumer" ] 251 252 version_script = "libresschedsvc.versionscript" 253 shlib_type = "sa" 254 subsystem_name = "resourceschedule" 255 part_name = "resource_schedule_service" 256 branch_protector_ret = "pac_ret" 257 258 sanitize = { 259 cfi = true 260 cfi_cross_dso = true 261 debug = false 262 } 263} 264 265# for unittest 266ohos_static_library("resschedsvc_static") { 267 configs = [] 268 269 public_configs = [ 270 ":resschedsvc_private_config", 271 ":resschedsvc_public_config", 272 "${ressched_interfaces}/innerkits/ressched_client:client_public_config", 273 ] 274 275 defines = [] 276 277 include_dirs = [ "../common/include" ] 278 279 sources = [ 280 "../scene_recognize/src/background_sensitive_task_overlapping_scene_recognizer.cpp", 281 "../scene_recognize/src/continuous_app_install_recognizer.cpp", 282 "../scene_recognize/src/scene_recognizer_base.cpp", 283 "../scene_recognize/src/scene_recognizer_mgr.cpp", 284 "../scene_recognize/src/slide_recognizer.cpp", 285 "../scene_recognize/src/system_upgrade_scene_recognizer.cpp", 286 "../sched_controller/common_event/src/event_controller.cpp", 287 "../sched_controller/observer/src/account_observer.cpp", 288 "../sched_controller/observer/src/audio_observer.cpp", 289 "../sched_controller/observer/src/connection_subscriber.cpp", 290 "../sched_controller/observer/src/download_upload_observer.cpp", 291 "../sched_controller/observer/src/fold_display_mode_observer.cpp", 292 "../sched_controller/observer/src/window_state_observer.cpp", 293 "../sched_controller/observer/src/app_state_observer.cpp", 294 "../sched_controller/observer/src/app_startup_scene_rec.cpp", 295 "../sched_controller/observer/src/observer_manager.cpp", 296 "resschedmgr/resschedfwk/src/config_reader.cpp", 297 "resschedmgr/resschedfwk/src/event_listener_mgr.cpp", 298 "resschedmgr/resschedfwk/src/kill_process.cpp", 299 "resschedmgr/resschedfwk/src/notifier_mgr.cpp", 300 "resschedmgr/resschedfwk/src/plugin_mgr.cpp", 301 "resschedmgr/resschedfwk/src/plugin_switch.cpp", 302 "resschedmgr/resschedfwk/src/res_sched_mgr.cpp", 303 "resschedservice/src/res_sched_service.cpp", 304 "resschedservice/src/res_sched_service_ability.cpp", 305 ] 306 307 deps = [ 308 "${ressched_interfaces}/innerkits/ressched_client:res_sched_service_stub", 309 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 310 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 311 "../common:ressched_common_utils", 312 ":suspend_manager_base_service", 313 ] 314 315 public_external_deps = [ 316 "eventhandler:libeventhandler", 317 "libxml2:libxml2", 318 "safwk:system_ability_fwk", 319 "samgr:samgr_proxy", 320 ] 321 322 external_deps = [ 323 "ability_base:want", 324 "ability_runtime:ability_manager", 325 "ability_runtime:app_manager", 326 "ability_runtime:connection_obs_manager", 327 "ability_runtime:dataobs_manager", 328 "ability_runtime:wantagent_innerkits", 329 "access_token:libaccesstoken_sdk", 330 "access_token:libtokenid_sdk", 331 "background_task_mgr:bgtaskmgr_innerkits", 332 "bundle_framework:appexecfwk_base", 333 "bundle_framework:appexecfwk_core", 334 "c_utils:utils", 335 "common_event_service:cesfwk_innerkits", 336 "config_policy:configpolicy_util", 337 "ffrt:libffrt", 338 "hilog:libhilog", 339 "hisysevent:libhisysevent", 340 "hitrace:hitrace_meter", 341 "hitrace:libhitracechain", 342 "init:libbegetutil", 343 "ipc:ipc_single", 344 "jsoncpp:jsoncpp", 345 "os_account:os_account_innerkits", 346 "samgr:samgr_proxy", 347 "window_manager:libdm", 348 "window_manager:libwm", 349 "window_manager:libwm_lite", 350 ] 351 352 if (resource_schedule_service_with_app_nap_enable) { 353 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_APP_NAP_ENABLE" ] 354 external_deps += [ "hisysevent:libhisyseventmanager" ] 355 sources += [ 356 "../sched_controller/observer/src/hisysevent_observer.cpp", 357 "../sched_controller/observer/src/mmi_observer.cpp", 358 ] 359 } 360 if (device_movement_perception_enable) { 361 defines += [ "DEVICE_MOVEMENT_PERCEPTION_ENABLE" ] 362 external_deps += [ "movement:movement_client" ] 363 sources += 364 [ "../sched_controller/observer/src/device_movement_observer.cpp" ] 365 } 366 if (ressched_with_telephony_state_registry_enable) { 367 defines += [ "RESSCHED_TELEPHONY_STATE_REGISTRY_ENABLE" ] 368 external_deps += [ 369 "core_service:tel_core_service_api", 370 "state_registry:tel_state_registry_api", 371 ] 372 sources += 373 [ "../sched_controller/observer/src/sched_telephony_observer.cpp" ] 374 } 375 if (communication_bluetooth_perception_enable) { 376 defines += [ "RESSCHED_COMMUNICATION_BLUETOOTH_ENABLE" ] 377 external_deps += [ "bluetooth:btframework" ] 378 } 379 if (ressched_with_resourceschedule_multimedia_av_session_enable) { 380 defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] 381 sources += 382 [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] 383 external_deps += [ "av_session:avsession_client" ] 384 } 385 if (has_bg_task_mgr) { 386 defines += [ "CONFIG_BGTASK_MGR" ] 387 sources += [ "../sched_controller/observer/src/background_task_observer.cpp" ] 388 external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] 389 } 390 if (ressched_with_resourceschedule_multimedia_audio_framework_enable) { 391 defines += [ "RESSCHED_AUDIO_FRAMEWORK_ENABLE" ] 392 external_deps += [ "audio_framework:audio_client" ] 393 } 394 if (resource_schedule_service_with_ext_res_enable) { 395 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_EXT_RES_ENABLE" ] 396 } 397 if (rss_request_enable) { 398 defines += [ "RESOURCE_REQUEST_REQUEST" ] 399 external_deps += [ "request:request_native" ] 400 } 401 if (resource_schedule_service_with_ffrt_enable) { 402 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 403 } 404 if (ressched_with_resourceschedule_soc_perf_enable && 405 resource_schedule_service_file_copy_soc_perf_enable) { 406 defines += [ "RESSCHED_RESOURCESCHEDULE_FILE_COPY_SOC_PERF_ENABLE" ] 407 } 408 external_deps += [ "data_share:datashare_consumer" ] 409 if (rss_mmi_enable) { 410 defines += [ "MMI_ENABLE" ] 411 external_deps += [ "input:libmmi-client" ] 412 } 413 subsystem_name = "resourceschedule" 414 part_name = "resource_schedule_service" 415 branch_protector_ret = "pac_ret" 416 417 sanitize = { 418 cfi = true 419 cfi_cross_dso = true 420 debug = false 421 } 422} 423