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