• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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