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