1# Copyright (c) 2022-2024 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("../../cgroup_sched/cgroup_sched.gni") 17import("../ressched.gni") 18 19config("ressched_config") { 20 include_dirs = [ 21 "${ressched_common}/include", 22 "resschedmgr/resschedfwk/include", 23 "resschedmgr/pluginbase/include", 24 ] 25} 26 27config("resschedsvc_public_config") { 28 include_dirs = [ 29 "${ressched_common}/include", 30 "resschedmgr/resschedfwk/include", 31 "resschedmgr/pluginbase/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 44ohos_shared_library("resschedsvc") { 45 configs = [ ":resschedsvc_private_config" ] 46 47 public_configs = [ ":resschedsvc_public_config" ] 48 49 defines = [] 50 include_dirs = [ 51 "${cgroup_sched_framework}/sched_controller/include", 52 "${cgroup_sched_framework}/process_group/include", 53 "${cgroup_sched_framework}/utils/include/", 54 "../common/include", 55 ] 56 57 sources = [ 58 "../scene_recognize/src/background_sensitive_task_overlapping_scene_recognizer.cpp", 59 "../scene_recognize/src/continuous_app_install_recognizer.cpp", 60 "../scene_recognize/src/scene_recognizer_mgr.cpp", 61 "../scene_recognize/src/slide_recognizer.cpp", 62 "../scene_recognize/src/system_upgrade_scene_recognizer.cpp", 63 "../sched_controller/common_event/src/event_controller.cpp", 64 "../sched_controller/observer/src/account_observer.cpp", 65 "../sched_controller/observer/src/audio_observer.cpp", 66 "../sched_controller/observer/src/connection_subscriber.cpp", 67 "../sched_controller/observer/src/download_upload_observer.cpp", 68 "../sched_controller/observer/src/fold_display_mode_observer.cpp", 69 "../sched_controller/observer/src/hisysevent_observer.cpp", 70 "../sched_controller/observer/src/mmi_observer.cpp", 71 "../sched_controller/observer/src/observer_manager.cpp", 72 "resschedmgr/resschedfwk/src/config_reader.cpp", 73 "resschedmgr/resschedfwk/src/event_listener_mgr.cpp", 74 "resschedmgr/resschedfwk/src/kill_process.cpp", 75 "resschedmgr/resschedfwk/src/notifier_mgr.cpp", 76 "resschedmgr/resschedfwk/src/plugin_mgr.cpp", 77 "resschedmgr/resschedfwk/src/plugin_switch.cpp", 78 "resschedmgr/resschedfwk/src/res_sched_mgr.cpp", 79 "resschedservice/src/res_sched_service.cpp", 80 "resschedservice/src/res_sched_service_ability.cpp", 81 "resschedservice/src/res_sched_service_stub.cpp", 82 ] 83 84 deps = [ 85 "${cgroup_sched_framework}:cgroup_sched", 86 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 87 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 88 "../common:ressched_common_utils", 89 ] 90 91 external_deps = [ 92 "ability_base:want", 93 "ability_runtime:ability_manager", 94 "ability_runtime:app_manager", 95 "ability_runtime:connection_obs_manager", 96 "ability_runtime:wantagent_innerkits", 97 "access_token:libaccesstoken_sdk", 98 "access_token:libtokenid_sdk", 99 "background_task_mgr:bgtaskmgr_innerkits", 100 "bundle_framework:appexecfwk_base", 101 "bundle_framework:appexecfwk_core", 102 "c_utils:utils", 103 "common_event_service:cesfwk_innerkits", 104 "config_policy:configpolicy_util", 105 "eventhandler:libeventhandler", 106 "ffrt:libffrt", 107 "hilog:libhilog", 108 "hisysevent:libhisysevent", 109 "hisysevent:libhisyseventmanager", 110 "hitrace:hitrace_meter", 111 "init:libbegetutil", 112 "input:libmmi-client", 113 "ipc:ipc_single", 114 "libxml2:libxml2", 115 "os_account:os_account_innerkits", 116 "safwk:system_ability_fwk", 117 "samgr:samgr_proxy", 118 "window_manager:libdm", 119 "window_manager:libwm_lite", 120 ] 121 122 if (device_movement_perception_enable) { 123 defines += [ "DEVICE_MOVEMENT_PERCEPTION_ENABLE" ] 124 external_deps += [ "movement:movement_client" ] 125 sources += 126 [ "../sched_controller/observer/src/device_movement_observer.cpp" ] 127 } 128 if (ressched_with_telephony_state_registry_enable) { 129 defines += [ "RESSCHED_TELEPHONY_STATE_REGISTRY_ENABLE" ] 130 external_deps += [ 131 "core_service:tel_core_service_api", 132 "state_registry:tel_state_registry_api", 133 ] 134 sources += 135 [ "../sched_controller/observer/src/sched_telephony_observer.cpp" ] 136 } 137 if (communication_bluetooth_perception_enable) { 138 defines += [ "RESSCHED_COMMUNICATION_BLUETOOTH_ENABLE" ] 139 external_deps += [ "bluetooth:btframework" ] 140 } 141 if (ressched_with_resourceschedule_multimedia_audio_framework_enable) { 142 defines += [ "RESSCHED_AUDIO_FRAMEWORK_ENABLE" ] 143 external_deps += [ "audio_framework:audio_client" ] 144 } 145 if (ressched_with_resourceschedule_multimedia_av_session_enable) { 146 defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] 147 sources += 148 [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] 149 external_deps += [ "av_session:avsession_client" ] 150 } 151 152 if (resource_schedule_service_with_ffrt_enable) { 153 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 154 } 155 if (resource_schedule_service_with_ext_res_enable) { 156 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_EXT_RES_ENABLE" ] 157 } 158 159 if (rss_request_enable) { 160 defines += [ "RESSCHED_REQUEST_REQUEST" ] 161 external_deps += [ "request:request_native" ] 162 } 163 external_deps += [ "data_share:datashare_consumer" ] 164 165 version_script = "libresschedsvc.versionscript" 166 shlib_type = "sa" 167 subsystem_name = "resourceschedule" 168 part_name = "resource_schedule_service" 169 170 branch_protector_ret = "pac_ret" 171 172 sanitize = { 173 cfi = true 174 cfi_cross_dso = true 175 debug = false 176 } 177} 178 179# for unittest 180ohos_static_library("resschedsvc_static") { 181 configs = [] 182 183 public_configs = [ 184 ":resschedsvc_private_config", 185 ":resschedsvc_public_config", 186 ] 187 188 defines = [] 189 190 include_dirs = [ 191 "../common/include", 192 "//foundation/resourceschedule/resource_schedule_service/cgroup_sched/framework/utils/include/", 193 "//foundation/resourceschedule/resource_schedule_service/cgroup_sched/framework/sched_controller/include/", 194 "//foundation/resourceschedule/resource_schedule_service/cgroup_sched/framework/process_group/include/", 195 ] 196 197 sources = [ 198 "../scene_recognize/src/background_sensitive_task_overlapping_scene_recognizer.cpp", 199 "../scene_recognize/src/continuous_app_install_recognizer.cpp", 200 "../scene_recognize/src/scene_recognizer_mgr.cpp", 201 "../scene_recognize/src/slide_recognizer.cpp", 202 "../scene_recognize/src/system_upgrade_scene_recognizer.cpp", 203 "../sched_controller/common_event/src/event_controller.cpp", 204 "../sched_controller/observer/src/account_observer.cpp", 205 "../sched_controller/observer/src/audio_observer.cpp", 206 "../sched_controller/observer/src/connection_subscriber.cpp", 207 "../sched_controller/observer/src/download_upload_observer.cpp", 208 "../sched_controller/observer/src/fold_display_mode_observer.cpp", 209 "../sched_controller/observer/src/hisysevent_observer.cpp", 210 "../sched_controller/observer/src/mmi_observer.cpp", 211 "../sched_controller/observer/src/observer_manager.cpp", 212 "resschedmgr/resschedfwk/src/config_reader.cpp", 213 "resschedmgr/resschedfwk/src/event_listener_mgr.cpp", 214 "resschedmgr/resschedfwk/src/kill_process.cpp", 215 "resschedmgr/resschedfwk/src/notifier_mgr.cpp", 216 "resschedmgr/resschedfwk/src/plugin_mgr.cpp", 217 "resschedmgr/resschedfwk/src/plugin_switch.cpp", 218 "resschedmgr/resschedfwk/src/res_sched_mgr.cpp", 219 "resschedservice/src/res_sched_service.cpp", 220 "resschedservice/src/res_sched_service_ability.cpp", 221 "resschedservice/src/res_sched_service_stub.cpp", 222 ] 223 224 deps = [ 225 "${cgroup_sched_framework}:cgroup_sched", 226 "${ressched_interfaces}/innerkits/ressched_client:ressched_client", 227 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 228 "../common:ressched_common_utils", 229 ] 230 231 external_deps = [ 232 "ability_base:want", 233 "ability_runtime:app_manager", 234 "ability_runtime:connection_obs_manager", 235 "ability_runtime:dataobs_manager", 236 "ability_runtime:wantagent_innerkits", 237 "access_token:libaccesstoken_sdk", 238 "access_token:libtokenid_sdk", 239 "background_task_mgr:bgtaskmgr_innerkits", 240 "bundle_framework:appexecfwk_base", 241 "bundle_framework:appexecfwk_core", 242 "c_utils:utils", 243 "common_event_service:cesfwk_innerkits", 244 "config_policy:configpolicy_util", 245 "eventhandler:libeventhandler", 246 "ffrt:libffrt", 247 "hilog:libhilog", 248 "hisysevent:libhisysevent", 249 "hisysevent:libhisyseventmanager", 250 "hitrace:hitrace_meter", 251 "init:libbegetutil", 252 "input:libmmi-client", 253 "ipc:ipc_single", 254 "libxml2:libxml2", 255 "os_account:os_account_innerkits", 256 "safwk:system_ability_fwk", 257 "samgr:samgr_proxy", 258 "window_manager:libdm", 259 "window_manager:libwm_lite", 260 ] 261 262 if (device_movement_perception_enable) { 263 defines += [ "DEVICE_MOVEMENT_PERCEPTION_ENABLE" ] 264 external_deps += [ "movement:movement_client" ] 265 sources += 266 [ "../sched_controller/observer/src/device_movement_observer.cpp" ] 267 } 268 if (ressched_with_telephony_state_registry_enable) { 269 defines += [ "RESSCHED_TELEPHONY_STATE_REGISTRY_ENABLE" ] 270 external_deps += [ 271 "core_service:tel_core_service_api", 272 "state_registry:tel_state_registry_api", 273 ] 274 sources += 275 [ "../sched_controller/observer/src/sched_telephony_observer.cpp" ] 276 } 277 if (communication_bluetooth_perception_enable) { 278 defines += [ "RESSCHED_COMMUNICATION_BLUETOOTH_ENABLE" ] 279 external_deps += [ "bluetooth:btframework" ] 280 } 281 if (ressched_with_resourceschedule_multimedia_audio_framework_enable) { 282 defines += [ "RESSCHED_AUDIO_FRAMEWORK_ENABLE" ] 283 external_deps += [ "audio_framework:audio_client" ] 284 } 285 if (ressched_with_resourceschedule_multimedia_av_session_enable) { 286 defines += [ "RESSCHED_MULTIMEDIA_AV_SESSION_ENABLE" ] 287 sources += 288 [ "../sched_controller/observer/src/av_session_state_listener.cpp" ] 289 external_deps += [ "av_session:avsession_client" ] 290 } 291 292 if (resource_schedule_service_with_ext_res_enable) { 293 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_EXT_RES_ENABLE" ] 294 } 295 296 if (rss_request_enable) { 297 defines += [ "RESSCHED_REQUEST_REQUEST" ] 298 external_deps += [ "request:request_native" ] 299 } 300 if (resource_schedule_service_with_ffrt_enable) { 301 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 302 } 303 external_deps += [ "data_share:datashare_consumer" ] 304 305 subsystem_name = "resourceschedule" 306 part_name = "resource_schedule_service" 307 308 branch_protector_ret = "pac_ret" 309 310 sanitize = { 311 cfi = true 312 cfi_cross_dso = true 313 debug = false 314 } 315} 316