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