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/session_manager/include", 27 "${window_base_path}/window_scene/session_manager/include/zidl", 28 "${window_base_path}/window_scene/session_manager_service/include", 29 30 # for session_manager 31 "${window_base_path}/wmserver/include", 32 "${window_base_path}/wmserver/include/zidl", 33 34 # for screen_session_manager 35 "${window_base_path}/utils/include", 36 "${window_base_path}/dm/include", 37 "${window_base_path}/interfaces/innerkits/dm", 38 "${window_base_path}/dmserver/include", 39 40 # for scene session manager 41 "${window_base_path}/interfaces/innerkits/wm", 42 "${window_base_path}/wmserver/include", 43 "${window_base_path}/window_scene/screen_session_manager/include", 44 45 # for window_manager_hilog 46 "${window_base_path}/utils/include", 47 48 "${window_base_path}/wm/include", 49 "${window_base_path}/wm/include/zidl", 50 ] 51} 52 53ohos_shared_library("scene_session_manager") { 54 branch_protector_ret = "pac_ret" 55 sanitize = { 56 cfi = true 57 cfi_cross_dso = true 58 cfi_vcall_icall_only = true 59 debug = false 60 } 61 sources = [ 62 "../../wm/src/zidl/window_manager_agent_proxy.cpp", 63 "src/anomaly_detection.cpp", 64 "src/distributed_client.cpp", 65 "src/extension_session_manager.cpp", 66 "src/publish/scb_dump_subscriber.cpp", 67 "src/scb_session_handler.cpp", 68 "src/scene_input_manager.cpp", 69 "src/scene_session_converter.cpp", 70 "src/scene_session_dirty_manager.cpp", 71 "src/scene_session_manager.cpp", 72 "src/scene_session_manager_lite.cpp", 73 "src/scene_system_ability_listener.cpp", 74 "src/session_listener_controller.cpp", 75 "src/session_manager_agent_controller.cpp", 76 "src/window_manager_lru.cpp", 77 "src/window_scene_config.cpp", 78 "src/zidl/scene_session_manager_lite_stub.cpp", 79 "src/zidl/scene_session_manager_stub.cpp", 80 ] 81 82 public_configs = [ ":session_manager_public_config" ] 83 84 deps = [ 85 "${window_base_path}/dm:libdm", 86 "${window_base_path}/utils:libwmutil", 87 "${window_base_path}/utils:libwmutil_base", 88 "${window_base_path}/window_scene/common:window_scene_common", 89 "${window_base_path}/window_scene/intention_event/service:intention_event_anr_manager", 90 "${window_base_path}/window_scene/screen_session_manager:screen_session_manager_client", 91 "${window_base_path}/window_scene/session:scene_session", 92 "${window_base_path}/window_scene/session:screen_session", 93 ] 94 public_external_deps = [ 95 "ability_runtime:session_handler", 96 "accessibility:accessibility_common", 97 "graphic_2d:librender_service_client", 98 "graphic_2d:window_animation", 99 "input:libmmi-client", 100 "input:libmmi-napi", 101 ] 102 external_deps = [ 103 "ability_base:session_info", 104 "ability_base:want", 105 "ability_runtime:ability_context_native", 106 "ability_runtime:ability_deps_wrapper", 107 "ability_runtime:ability_manager", 108 "ability_runtime:ability_start_setting", 109 "ability_runtime:app_context", 110 "ability_runtime:app_manager", 111 "ability_runtime:mission_info", 112 "ability_runtime:session_handler", 113 "ace_engine:ace_uicontent", 114 "bundle_framework:appexecfwk_base", 115 "bundle_framework:appexecfwk_core", 116 "c_utils:utils", 117 "config_policy:configpolicy_util", 118 "dsoftbus:softbus_client", 119 "eventhandler:libeventhandler", 120 "ffrt:libffrt", 121 "graphic_2d:librender_service_client", 122 "hicollie:libhicollie", 123 "hilog:libhilog", 124 "hisysevent:libhisysevent", 125 "hitrace:hitrace_meter", 126 "image_framework:image_native", 127 "init:libbegetutil", 128 "input:libmmi-client", 129 "ipc:ipc_single", 130 "libxml2:libxml2", 131 "napi:ace_napi", 132 "resource_management:global_resmgr", 133 "samgr:samgr_proxy", 134 ] 135 136 defines = [] 137 if (defined(global_parts_info) && 138 defined(global_parts_info.resourceschedule_memmgr_override)) { 139 external_deps += [ "memmgr:memmgrclient" ] 140 defines += [ "MEMMGR_WINDOW_ENABLE" ] 141 } 142 143 if (defined(global_parts_info) && 144 defined(global_parts_info.powermgr_power_manager)) { 145 external_deps += [ "power_manager:powermgr_client" ] 146 defines += [ "POWER_MANAGER_ENABLE" ] 147 } 148 149 if (defined(global_parts_info) && 150 defined(global_parts_info.powermgr_display_manager)) { 151 external_deps += [ "display_manager:displaymgr" ] 152 defines += [ "POWERMGR_DISPLAY_MANAGER_ENABLE" ] 153 } 154 155 if (defined(global_parts_info) && 156 defined(global_parts_info.resourceschedule_soc_perf)) { 157 external_deps += [ "resource_schedule_service:ressched_client" ] 158 defines += [ "RES_SCHED_ENABLE" ] 159 } 160 161 if (defined(global_parts_info) && 162 defined(global_parts_info.security_security_component_manager)) { 163 external_deps += [ "security_component_manager:libsecurity_component_sdk" ] 164 defines += [ "SECURITY_COMPONENT_MANAGER_ENABLE" ] 165 } 166 167 if (!defined(global_parts_info) || 168 defined(global_parts_info.inputmethod_imf)) { 169 imf_enable = true 170 } else { 171 imf_enable = false 172 } 173 print("imf_enable: ", imf_enable) 174 if (imf_enable == true) { 175 external_deps += [ "imf:inputmethod_client" ] 176 defines += [ "IMF_ENABLE" ] 177 } 178 179 innerapi_tags = [ "platformsdk" ] 180 part_name = "window_manager" 181 subsystem_name = "window" 182 183 if (build_variant == "user") { 184 defines += [ "IS_RELEASE_VERSION" ] 185 } 186} 187 188ohos_shared_library("screen_session_manager") { 189 branch_protector_ret = "pac_ret" 190 sanitize = { 191 cfi = true 192 cfi_cross_dso = true 193 cfi_vcall_icall_only = true 194 debug = false 195 } 196 sources = [ 197 "../../dm/src/zidl/display_manager_agent_proxy.cpp", 198 "../screen_session_manager/src/zidl/screen_session_manager_client_proxy.cpp", 199 "src/connection/screen_cast_connection.cpp", 200 "src/connection/screen_session_ability_connection.cpp", 201 "src/connection/screen_snapshot_picker_connection.cpp", 202 "src/fold_screen_controller/dual_display_fold_policy.cpp", 203 "src/fold_screen_controller/fold_screen_controller.cpp", 204 "src/fold_screen_controller/fold_screen_policy.cpp", 205 "src/fold_screen_controller/fold_screen_sensor_manager.cpp", 206 "src/fold_screen_controller/fold_screen_state_machine.cpp", 207 "src/fold_screen_controller/secondary_display_fold_policy.cpp", 208 "src/fold_screen_controller/secondary_fold_sensor_manager.cpp", 209 "src/fold_screen_controller/sensor_fold_state_manager/dual_display_sensor_fold_state_manager.cpp", 210 "src/fold_screen_controller/sensor_fold_state_manager/secondary_display_sensor_fold_state_manager.cpp", 211 "src/fold_screen_controller/sensor_fold_state_manager/sensor_fold_state_manager.cpp", 212 "src/fold_screen_controller/sensor_fold_state_manager/single_display_sensor_fold_state_manager.cpp", 213 "src/fold_screen_controller/sensor_fold_state_manager/single_display_sensor_pocket_fold_state_manager.cpp", 214 "src/fold_screen_controller/single_display_fold_policy.cpp", 215 "src/fold_screen_controller/single_display_pocket_fold_policy.cpp", 216 "src/multi_screen_manager.cpp", 217 "src/publish/screen_session_publish.cpp", 218 "src/screen_cutout_controller.cpp", 219 "src/screen_rotation_property.cpp", 220 "src/screen_scene_config.cpp", 221 "src/screen_sensor_connector.cpp", 222 "src/screen_session_dumper.cpp", 223 "src/screen_session_manager.cpp", 224 "src/screen_setting_helper.cpp", 225 "src/screen_tent_property.cpp", 226 "src/session_display_power_controller.cpp", 227 "src/setting_observer.cpp", 228 "src/setting_provider.cpp", 229 "src/zidl/screen_session_manager_stub.cpp", 230 ] 231 232 cflags_cc = [ "-std=c++17" ] 233 234 public_configs = [ ":session_manager_public_config" ] 235 public_external_deps = [ 236 "ability_runtime:session_handler", 237 "accessibility:accessibility_common", 238 "input:libmmi-client", 239 "input:libmmi-napi", 240 ] 241 deps = [ 242 "${window_base_path}/etc:wms_etc", 243 "${window_base_path}/utils:libwmutil", 244 "${window_base_path}/utils:libwmutil_base", 245 "${window_base_path}/window_scene/common:window_scene_common", 246 "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 247 "${window_base_path}/window_scene/session:screen_session", 248 "${window_base_path}/wmserver:sms", 249 ] 250 251 external_deps = [ 252 "ability_base:base", 253 "ability_base:want", 254 "ability_base:zuri", 255 "ability_runtime:ability_manager", 256 "ability_runtime:abilitykit_native", 257 "ability_runtime:app_manager", 258 "ability_runtime:dataobs_manager", 259 "ability_runtime:extension_manager", 260 "access_token:libaccesstoken_sdk", 261 "access_token:libprivacy_sdk", 262 "access_token:libtokenid_sdk", 263 "c_utils:utils", 264 "common_event_service:cesfwk_innerkits", 265 "config_policy:configpolicy_util", 266 "data_share:datashare_common", 267 "data_share:datashare_consumer", 268 "eventhandler:libeventhandler", 269 "graphic_2d:librender_service_client", 270 "hicollie:libhicollie", 271 "hilog:libhilog", 272 "hisysevent:libhisysevent", 273 "hitrace:hitrace_meter", 274 "init:libbeget_proxy", 275 "ipc:ipc_core", 276 "libxml2:libxml2", 277 "safwk:system_ability_fwk", 278 "samgr:samgr_proxy", 279 ] 280 281 defines = [] 282 if (window_manager_feature_subscribe_motion) { 283 if (defined(global_parts_info) && defined(global_parts_info.msdp_motion)) { 284 external_deps += [ "motion:motion_interface_native" ] 285 defines += [ "WM_SUBSCRIBE_MOTION_ENABLE" ] 286 } 287 } 288 289 if (defined(global_parts_info) && defined(global_parts_info.sensors_sensor)) { 290 external_deps += [ "sensor:sensor_interface_native" ] 291 defines += [ "SENSOR_ENABLE" ] 292 } 293 294 if (defined(global_parts_info) && 295 defined(global_parts_info.powermgr_power_manager)) { 296 external_deps += [ "power_manager:powermgr_client" ] 297 defines += [ "POWER_MANAGER_ENABLE" ] 298 } 299 300 if (window_manager_feature_tp_enable) { 301 defines += [ "TP_FEATURE_ENABLE" ] 302 } 303 304 if (is_standard_system) { 305 external_deps += [ "init:libbegetutil" ] 306 } else { 307 external_deps += [ "init_lite:libbegetutil" ] 308 } 309 310 if (device_status_enable) { 311 external_deps += [ "device_status:devicestatus_client" ] 312 defines += [ "DEVICE_STATUS_ENABLE" ] 313 } 314 315 innerapi_tags = [ "platformsdk" ] 316 part_name = "window_manager" 317 subsystem_name = "window" 318} 319 320ohos_shared_library("session_manager") { 321 branch_protector_ret = "pac_ret" 322 sanitize = { 323 cfi = true 324 cfi_cross_dso = true 325 cfi_vcall_icall_only = true 326 debug = false 327 } 328 sources = [ 329 "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp", 330 "../session_manager_service/src/session_manager_service_proxy.cpp", 331 "src/session_manager.cpp", 332 "src/zidl/scene_session_manager_proxy.cpp", 333 ] 334 335 cflags_cc = [ "-std=c++17" ] 336 337 public_configs = [ ":session_manager_public_config" ] 338 339 deps = [ 340 ":session_manager_lite", 341 "${window_base_path}/utils:libwmutil", 342 "${window_base_path}/utils:libwmutil_base", 343 "${window_base_path}/window_scene/common:window_scene_common", 344 ] 345 public_external_deps = [ 346 "ability_runtime:session_handler", 347 "accessibility:accessibility_common", 348 "graphic_2d:librender_service_client", 349 "graphic_2d:window_animation", 350 "input:libmmi-client", 351 "input:libmmi-napi", 352 ] 353 external_deps = [ 354 "ability_base:session_info", 355 "ability_base:want", 356 "ability_runtime:ability_manager", 357 "ability_runtime:app_manager", 358 "ability_runtime:mission_info", 359 "c_utils:utils", 360 "graphic_2d:librender_service_client", 361 "hilog:libhilog", 362 "image_framework:image_native", 363 "ipc:ipc_single", 364 "safwk:system_ability_fwk", 365 "samgr:samgr_proxy", 366 ] 367 368 innerapi_tags = [ "platformsdk_indirect" ] 369 part_name = "window_manager" 370 subsystem_name = "window" 371 372 defines = [] 373 if (build_variant == "user") { 374 defines += [ "IS_RELEASE_VERSION" ] 375 } 376} 377 378ohos_shared_library("session_manager_lite") { 379 branch_protector_ret = "pac_ret" 380 sanitize = { 381 cfi = true 382 cfi_cross_dso = true 383 cfi_vcall_icall_only = true 384 debug = false 385 } 386 sources = [ 387 "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp", 388 "../session_manager_service/src/session_manager_service_proxy.cpp", 389 "src/session_manager_lite.cpp", 390 "src/zidl/scene_session_manager_lite_proxy.cpp", 391 ] 392 393 cflags_cc = [ "-std=c++17" ] 394 395 public_configs = [ ":session_manager_public_config" ] 396 397 deps = [ 398 "${window_base_path}/utils:libwmutil_base", 399 "${window_base_path}/window_scene/common:window_scene_common", 400 ] 401 402 public_external_deps = [ 403 "ability_runtime:session_handler", 404 "accessibility:accessibility_common", 405 "input:libmmi-napi", 406 ] 407 408 external_deps = [ 409 "ability_base:session_info", 410 "ability_base:want", 411 "ability_runtime:mission_info", 412 "c_utils:utils", 413 "hilog:libhilog", 414 "ipc:ipc_single", 415 "samgr:samgr_proxy", 416 ] 417 418 innerapi_tags = [ "platformsdk_indirect" ] 419 part_name = "window_manager" 420 subsystem_name = "window" 421 422 defines = [] 423 if (build_variant == "user") { 424 defines += [ "IS_RELEASE_VERSION" ] 425 } 426} 427