• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023 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("../../windowmanager_aafwk.gni")
16
17config("session_manager_public_config") {
18  visibility = [ ":*" ]
19
20  include_dirs = [
21    "${window_base_path}/interfaces/innerkits/wm",
22    "${window_base_path}/interfaces/include",
23    "${window_base_path}/window_scene",
24    "${window_base_path}/window_scene/common/include",
25    "${window_base_path}/window_scene/interfaces/include",
26    "${window_base_path}/window_scene/screen_session_manager/include",
27    "${window_base_path}/window_scene/screen_session_manager/include/zidl",
28    "${window_base_path}/window_scene/session_manager/include",
29    "${window_base_path}/window_scene/session_manager/include/zidl",
30    "${window_base_path}/window_scene/session_manager_service/include",
31
32    # for session_manager
33    "${window_base_path}/wmserver/include",
34    "${window_base_path}/wmserver/include/zidl",
35    "${target_gen_dir}/../../wmserver",
36
37    # for screen_session_manager
38    "${window_base_path}/utils/include",
39    "${window_base_path}/dm/include",
40    "${window_base_path}/interfaces/innerkits/dm",
41    "${window_base_path}/dmserver/include",
42
43    # for scene session manager
44    "${window_base_path}/interfaces/innerkits/wm",
45    "${window_base_path}/wmserver/include",
46    "${window_base_path}/window_scene/screen_session_manager_client/include",
47
48    # for window_manager_hilog
49    "${window_base_path}/utils/include",
50
51    "${window_base_path}/wm/include",
52    "${window_base_path}/wm/include/zidl",
53  ]
54}
55
56ohos_shared_library("scene_session_manager") {
57  branch_protector_ret = "pac_ret"
58  sanitize = {
59    cfi = true
60    cfi_cross_dso = true
61    cfi_vcall_icall_only = true
62    debug = false
63  }
64  sources = [
65    "../../wm/src/zidl/window_manager_agent_proxy.cpp",
66    "src/anomaly_detection.cpp",
67    "src/distributed_client.cpp",
68    "src/extension_session_manager.cpp",
69    "src/ffrt_queue_helper.cpp",
70    "src/hidump_controller.cpp",
71    "src/publish/scb_dump_subscriber.cpp",
72    "src/rdb/starting_window_rdb_manager.cpp",
73    "src/rdb/wms_rdb_open_callback.cpp",
74    "src/scb_session_handler.cpp",
75    "src/scene_input_manager.cpp",
76    "src/scene_screen_change_listener.cpp",
77    "src/scene_session_converter.cpp",
78    "src/scene_session_dirty_manager.cpp",
79    "src/scene_session_manager.cpp",
80    "src/scene_session_manager_lite.cpp",
81    "src/scene_system_ability_listener.cpp",
82    "src/session_listener_controller.cpp",
83    "src/session_manager_agent_controller.cpp",
84    "src/ui_effect_manager.cpp",
85    "src/user_switch_reporter.cpp",
86    "src/window_focus_controller.cpp",
87    "src/window_manager_lru.cpp",
88    "src/window_scene_config.cpp",
89    "src/zidl/scene_session_manager_lite_stub.cpp",
90    "src/zidl/scene_session_manager_stub.cpp",
91    "src/zidl/session_lifecycle_listener_stub.cpp",
92    "src/zidl/session_router_stack_listener_proxy.cpp",
93    "src/zidl/session_router_stack_listener_stub.cpp",
94  ]
95
96  public_configs = [ ":session_manager_public_config" ]
97
98  deps = [
99    "${window_base_path}/dm:libdm",
100    "${window_base_path}/utils:libwmutil",
101    "${window_base_path}/utils:libwmutil_base",
102    "${window_base_path}/window_scene/common:window_scene_common",
103    "${window_base_path}/window_scene/intention_event/service:intention_event_anr_manager",
104    "${window_base_path}/window_scene/screen_session_manager_client:screen_session_manager_client",
105    "${window_base_path}/window_scene/session:scene_session",
106    "${window_base_path}/window_scene/session:screen_session",
107    "${window_base_path}/window_scene/session:ui_effect_controller",
108  ]
109  public_external_deps = [
110    "ability_runtime:session_handler",
111    "accessibility:accessibility_common",
112    "graphic_2d:librender_service_client",
113    "graphic_2d:window_animation",
114    "input:libmmi-client",
115    "input:libmmi-napi",
116  ]
117  external_deps = [
118    "ability_base:session_info",
119    "ability_base:want",
120    "ability_runtime:ability_context_native",
121    "ability_runtime:ability_deps_wrapper",
122    "ability_runtime:ability_manager",
123    "ability_runtime:ability_start_setting",
124    "ability_runtime:app_context",
125    "ability_runtime:app_manager",
126    "ability_runtime:mission_info",
127    "ability_runtime:session_handler",
128    "ace_engine:ace_uicontent",
129    "bundle_framework:appexecfwk_base",
130    "bundle_framework:appexecfwk_core",
131    "bundle_framework:libappexecfwk_common",
132    "c_utils:utils",
133    "config_policy:configpolicy_util",
134    "dsoftbus:softbus_client",
135    "eventhandler:libeventhandler",
136    "ffrt:libffrt",
137    "graphic_2d:librender_service_base",
138    "graphic_2d:librender_service_client",
139    "hicollie:libhicollie",
140    "hilog:libhilog",
141    "hisysevent:libhisysevent",
142    "hitrace:hitrace_meter",
143    "hitrace:libhitracechain",
144    "image_framework:image_native",
145    "init:libbegetutil",
146    "input:libmmi-client",
147    "ipc:ipc_single",
148    "libxml2:libxml2",
149    "napi:ace_napi",
150    "preferences:native_preferences",
151    "resource_management:global_resmgr",
152    "safwk:system_ability_fwk",
153    "samgr:samgr_proxy",
154  ]
155
156  defines = []
157  if (defined(global_parts_info) &&
158      defined(global_parts_info.resourceschedule_memmgr_override)) {
159    external_deps += [ "memmgr:memmgrclient" ]
160    defines += [ "MEMMGR_WINDOW_ENABLE" ]
161  }
162
163  if (defined(global_parts_info) &&
164      defined(global_parts_info.powermgr_power_manager)) {
165    external_deps += [ "power_manager:powermgr_client" ]
166    defines += [ "POWER_MANAGER_ENABLE" ]
167  }
168
169  if (defined(global_parts_info) &&
170      defined(global_parts_info.powermgr_display_manager)) {
171    external_deps += [ "display_manager:displaymgr" ]
172    defines += [ "POWERMGR_DISPLAY_MANAGER_ENABLE" ]
173  }
174
175  if (defined(global_parts_info) &&
176      defined(global_parts_info.resourceschedule_soc_perf)) {
177    external_deps += [ "resource_schedule_service:ressched_client" ]
178    defines += [ "RES_SCHED_ENABLE" ]
179  }
180
181  if (defined(global_parts_info) &&
182      defined(global_parts_info.security_security_component_manager)) {
183    external_deps += [ "security_component_manager:libsecurity_component_sdk" ]
184    defines += [ "SECURITY_COMPONENT_MANAGER_ENABLE" ]
185  }
186
187  if (!defined(global_parts_info) ||
188      defined(global_parts_info.inputmethod_imf)) {
189    imf_enable = true
190  } else {
191    imf_enable = false
192  }
193  print("imf_enable: ", imf_enable)
194  if (imf_enable == true) {
195    external_deps += [ "imf:inputmethod_client" ]
196    defines += [ "IMF_ENABLE" ]
197  }
198
199  innerapi_tags = [ "platformsdk" ]
200  part_name = "window_manager"
201  subsystem_name = "window"
202
203  if (build_variant == "user") {
204    defines += [ "IS_RELEASE_VERSION" ]
205  }
206}
207
208ohos_shared_library("session_manager") {
209  branch_protector_ret = "pac_ret"
210  sanitize = {
211    cfi = true
212    cfi_cross_dso = true
213    cfi_vcall_icall_only = true
214    debug = false
215  }
216  sources = [
217    "../session_manager_service/src/session_manager_service_proxy.cpp",
218    "src/session_manager.cpp",
219    "src/zidl/scene_session_manager_proxy.cpp",
220    "src/zidl/session_lifecycle_listener_proxy.cpp",
221  ]
222
223  cflags_cc = [ "-std=c++17" ]
224
225  public_configs = [ ":session_manager_public_config" ]
226
227  deps = [
228    ":session_manager_lite",
229    "${window_base_path}/utils:libwmutil",
230    "${window_base_path}/utils:libwmutil_base",
231    "${window_base_path}/window_scene/common:window_scene_common",
232    "${window_base_path}/window_scene/session:ui_effect_controller_client",
233    "${window_base_path}/wmserver:mock_session_manager_service_proxy",
234  ]
235  public_external_deps = [
236    "ability_runtime:session_handler",
237    "accessibility:accessibility_common",
238    "graphic_2d:librender_service_client",
239    "graphic_2d:window_animation",
240    "input:libmmi-client",
241    "input:libmmi-napi",
242  ]
243  external_deps = [
244    "ability_base:session_info",
245    "ability_base:want",
246    "ability_runtime:ability_manager",
247    "ability_runtime:app_manager",
248    "ability_runtime:mission_info",
249    "c_utils:utils",
250    "graphic_2d:librender_service_base",
251    "graphic_2d:librender_service_client",
252    "hilog:libhilog",
253    "image_framework:image_native",
254    "ipc:ipc_single",
255    "safwk:system_ability_fwk",
256    "samgr:samgr_proxy",
257  ]
258
259  innerapi_tags = [ "platformsdk_indirect" ]
260  part_name = "window_manager"
261  subsystem_name = "window"
262
263  defines = []
264  if (build_variant == "user") {
265    defines += [ "IS_RELEASE_VERSION" ]
266  }
267}
268
269ohos_shared_library("session_manager_lite") {
270  branch_protector_ret = "pac_ret"
271  sanitize = {
272    cfi = true
273    cfi_cross_dso = true
274    cfi_vcall_icall_only = true
275    debug = false
276  }
277  sources = [
278    "../session_manager_service/src/session_manager_service_proxy.cpp",
279    "src/session_manager_lite.cpp",
280    "src/zidl/scene_session_manager_lite_proxy.cpp",
281  ]
282
283  cflags_cc = [ "-std=c++17" ]
284
285  public_configs = [ ":session_manager_public_config" ]
286
287  deps = [
288    "${window_base_path}/utils:libwmutil_base",
289    "${window_base_path}/window_scene/common:window_scene_common",
290    "${window_base_path}/wmserver:mock_session_manager_service_proxy",
291  ]
292
293  public_external_deps = [
294    "ability_runtime:session_handler",
295    "accessibility:accessibility_common",
296    "input:libmmi-client",
297    "input:libmmi-napi",
298  ]
299
300  external_deps = [
301    "ability_base:session_info",
302    "ability_base:want",
303    "ability_runtime:mission_info",
304    "c_utils:utils",
305    "hilog:libhilog",
306    "image_framework:image_native",
307    "ipc:ipc_single",
308    "safwk:system_ability_fwk",
309    "samgr:samgr_proxy",
310  ]
311
312  innerapi_tags = [ "platformsdk_indirect" ]
313  part_name = "window_manager"
314  subsystem_name = "window"
315
316  defines = []
317  if (build_variant == "user") {
318    defines += [ "IS_RELEASE_VERSION" ]
319  }
320}
321