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/interfaces/include", 25 "${window_base_path}/window_scene/session_manager/include", 26 "${window_base_path}/window_scene/session_manager/include/zidl", 27 "${window_base_path}/window_scene/session_manager_service/include", 28 29 # for session_manager 30 "${multimodalinput_path}/input/interfaces/native/innerkits/event/include", 31 "${multimodalinput_path}/input/util/common/include", 32 "${ability_runtime_inner_api_path}/ability_manager/include", 33 "${ability_runtime_inner_api_path}/app_manager/include", 34 "${window_base_path}/wmserver/include", 35 "${window_base_path}/wmserver/include/zidl", 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 "${ability_runtime_inner_api_path}/session_handler/include", 45 "${resourceschedule_path}/ffrt/interfaces/kits", 46 "${window_base_path}/interfaces/innerkits/wm", 47 "${window_base_path}/wmserver/include", 48 "${graphic_base_path}/graphic_2d/rosen/modules/animation/window_animation/include", 49 50 "${window_base_path}/window_scene/screen_session_manager/include", 51 52 # for window_manager_hilog 53 "${window_base_path}/utils/include", 54 55 "${window_base_path}/wm/include", 56 "${window_base_path}/wm/include/zidl", 57 58 "${accessibility_path}/interfaces/innerkits/common/include/", 59 ] 60} 61 62ohos_shared_library("scene_session_manager") { 63 branch_protector_ret = "pac_ret" 64 sanitize = { 65 cfi = true 66 cfi_cross_dso = true 67 debug = false 68 } 69 sources = [ 70 "../../wm/src/zidl/window_manager_agent_proxy.cpp", 71 "src/distributed_client.cpp", 72 "src/extension_session_manager.cpp", 73 "src/scb_session_handler.cpp", 74 "src/scene_input_manager.cpp", 75 "src/scene_session_converter.cpp", 76 "src/scene_session_dirty_manager.cpp", 77 "src/scene_session_manager.cpp", 78 "src/scene_session_manager_lite.cpp", 79 "src/session_listener_controller.cpp", 80 "src/session_manager_agent_controller.cpp", 81 "src/window_scene_config.cpp", 82 "src/zidl/scene_session_manager_lite_stub.cpp", 83 "src/zidl/scene_session_manager_stub.cpp", 84 "src/zidl/session_listener_proxy.cpp", 85 "src/zidl/session_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}/window_scene/common:window_scene_common", 94 "${window_base_path}/window_scene/intention_event/service:intention_event_anr_manager", 95 "${window_base_path}/window_scene/screen_session_manager:screen_session_manager_client", 96 "${window_base_path}/window_scene/session:scene_session", 97 "${window_base_path}/window_scene/session:screen_session", 98 "//third_party/libxml2:libxml2", 99 ] 100 101 external_deps = [ 102 "ability_base:session_info", 103 "ability_base:want", 104 "ability_runtime:ability_context_native", 105 "ability_runtime:ability_deps_wrapper", 106 "ability_runtime:ability_manager", 107 "ability_runtime:ability_start_setting", 108 "ability_runtime:app_manager", 109 "ability_runtime:mission_info", 110 "ability_runtime:session_handler", 111 "ace_engine:ace_uicontent", 112 "bundle_framework:appexecfwk_base", 113 "bundle_framework:appexecfwk_core", 114 "c_utils:utils", 115 "config_policy:configpolicy_util", 116 "dsoftbus:softbus_client", 117 "eventhandler:libeventhandler", 118 "ffrt:libffrt", 119 "graphic_2d:librender_service_client", 120 "graphic_2d:window_animation", 121 "hicollie:libhicollie", 122 "hilog:libhilog", 123 "hitrace:hitrace_meter", 124 "image_framework:image_native", 125 "init:libbegetutil", 126 "input:libmmi-client", 127 "ipc:ipc_single", 128 "napi:ace_napi", 129 "resource_management:global_resmgr", 130 "samgr:samgr_proxy", 131 ] 132 133 defines = [] 134 if (defined(global_parts_info) && 135 defined(global_parts_info.resourceschedule_memmgr_plugin)) { 136 external_deps += [ "memmgr_plugin:memmgrclient" ] 137 defines += [ "MEMMGR_WINDOW_ENABLE" ] 138 } 139 140 if (defined(global_parts_info) && 141 defined(global_parts_info.powermgr_power_manager)) { 142 external_deps += [ "power_manager:powermgr_client" ] 143 defines += [ "POWER_MANAGER_ENABLE" ] 144 } 145 146 if (defined(global_parts_info) && 147 defined(global_parts_info.powermgr_display_manager)) { 148 external_deps += [ "display_manager:displaymgr" ] 149 defines += [ "POWERMGR_DISPLAY_MANAGER_ENABLE" ] 150 } 151 152 if (defined(global_parts_info) && 153 defined(global_parts_info.resourceschedule_soc_perf)) { 154 external_deps += [ "resource_schedule_service:ressched_client" ] 155 defines += [ "RES_SCHED_ENABLE" ] 156 } 157 158 if (efficiency_manager_enable) { 159 external_deps += [ "efficiency_manager:suspend_manager_client" ] 160 defines += [ "EFFICIENCY_MANAGER_ENABLE" ] 161 } 162 163 if (defined(global_parts_info) && 164 defined(global_parts_info.security_security_component_manager)) { 165 external_deps += 166 [ "security_component_manager:libsecurity_component_enhance_sdk" ] 167 defines += [ "SECURITY_COMPONENT_MANAGER_ENABLE" ] 168 } 169 170 if (!defined(global_parts_info) || 171 defined(global_parts_info.inputmethod_imf)) { 172 imf_enable = true 173 } else { 174 imf_enable = false 175 } 176 print("imf_enable: ", imf_enable) 177 if (imf_enable == true) { 178 external_deps += [ "imf:inputmethod_client" ] 179 defines += [ "IMF_ENABLE" ] 180 } 181 182 innerapi_tags = [ "platformsdk" ] 183 part_name = "window_manager" 184 subsystem_name = "window" 185} 186 187ohos_shared_library("screen_session_manager") { 188 branch_protector_ret = "pac_ret" 189 sanitize = { 190 cfi = true 191 cfi_cross_dso = true 192 debug = false 193 } 194 sources = [ 195 "../../dm/src/zidl/display_manager_agent_proxy.cpp", 196 "../screen_session_manager/src/zidl/screen_session_manager_client_proxy.cpp", 197 "src/fold_screen_controller/dual_display_device_policy.cpp", 198 "src/fold_screen_controller/fold_screen_controller.cpp", 199 "src/fold_screen_controller/fold_screen_policy.cpp", 200 "src/fold_screen_controller/fold_screen_sensor_manager.cpp", 201 "src/fold_screen_controller/fold_screen_state_machine.cpp", 202 "src/screen_cutout_controller.cpp", 203 "src/screen_rotation_property.cpp", 204 "src/screen_scene_config.cpp", 205 "src/screen_sensor_connector.cpp", 206 "src/screen_session_manager.cpp", 207 "src/screen_setting_helper.cpp", 208 "src/session_display_power_controller.cpp", 209 "src/setting_observer.cpp", 210 "src/setting_provider.cpp", 211 "src/zidl/screen_session_manager_stub.cpp", 212 ] 213 214 cflags_cc = [ "-std=c++17" ] 215 216 public_configs = [ ":session_manager_public_config" ] 217 218 deps = [ 219 "${window_base_path}/utils:libwmutil", 220 "${window_base_path}/window_scene/common:window_scene_common", 221 "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 222 "${window_base_path}/window_scene/session:screen_session", 223 "${window_base_path}/wmserver:sms", 224 "//third_party/libxml2:libxml2", 225 ] 226 227 external_deps = [ 228 "ability_base:zuri", 229 "ability_runtime:ability_manager", 230 "ability_runtime:dataobs_manager", 231 "c_utils:utils", 232 "config_policy:configpolicy_util", 233 "data_share:datashare_common", 234 "data_share:datashare_consumer", 235 "eventhandler:libeventhandler", 236 "graphic_2d:librender_service_client", 237 "hicollie:libhicollie", 238 "hilog:libhilog", 239 "hisysevent:libhisysevent", 240 "hitrace:hitrace_meter", 241 "init:libbeget_proxy", 242 "ipc:ipc_core", 243 "safwk:system_ability_fwk", 244 "samgr:samgr_proxy", 245 ] 246 247 defines = [] 248 if (window_manager_feature_subscribe_motion) { 249 if (defined(global_parts_info) && defined(global_parts_info.msdp_motion)) { 250 external_deps += [ "motion:motion_interface_native" ] 251 defines += [ "WM_SUBSCRIBE_MOTION_ENABLE" ] 252 } 253 } 254 255 if (defined(global_parts_info) && defined(global_parts_info.sensors_sensor)) { 256 external_deps += [ "sensor:sensor_interface_native" ] 257 defines += [ "SENSOR_ENABLE" ] 258 } 259 260 if (defined(global_parts_info) && 261 defined(global_parts_info.powermgr_power_manager)) { 262 external_deps += [ "power_manager:powermgr_client" ] 263 defines += [ "POWER_MANAGER_ENABLE" ] 264 } 265 266 if (window_manager_feature_tp_enable) { 267 defines += [ "TP_FEATURE_ENABLE" ] 268 } 269 270 if (is_standard_system) { 271 external_deps += [ "init:libbegetutil" ] 272 } else { 273 external_deps += [ "init_lite:libbegetutil" ] 274 } 275 276 innerapi_tags = [ "platformsdk" ] 277 part_name = "window_manager" 278 subsystem_name = "window" 279} 280 281ohos_shared_library("session_manager") { 282 branch_protector_ret = "pac_ret" 283 sanitize = { 284 cfi = true 285 cfi_cross_dso = true 286 debug = false 287 } 288 sources = [ 289 "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp", 290 "../session_manager_service/src/session_manager_service_proxy.cpp", 291 "src/session_manager.cpp", 292 "src/zidl/scene_session_manager_proxy.cpp", 293 ] 294 295 cflags_cc = [ "-std=c++17" ] 296 297 public_configs = [ ":session_manager_public_config" ] 298 299 deps = [ "${window_base_path}/utils:libwmutil" ] 300 301 external_deps = [ 302 "ability_base:session_info", 303 "ability_base:want", 304 "ability_runtime:mission_info", 305 "c_utils:utils", 306 "graphic_2d:librender_service_client", 307 "hilog:libhilog", 308 "image_framework:image_native", 309 "ipc:ipc_single", 310 "safwk:system_ability_fwk", 311 "samgr:samgr_proxy", 312 ] 313 314 innerapi_tags = [ "platformsdk_indirect" ] 315 part_name = "window_manager" 316 subsystem_name = "window" 317} 318 319ohos_shared_library("session_manager_lite") { 320 branch_protector_ret = "pac_ret" 321 sanitize = { 322 cfi = true 323 cfi_cross_dso = true 324 debug = false 325 } 326 sources = [ 327 "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp", 328 "../session_manager_service/src/session_manager_service_proxy.cpp", 329 "src/session_manager_lite.cpp", 330 "src/zidl/scene_session_manager_lite_proxy.cpp", 331 ] 332 333 cflags_cc = [ "-std=c++17" ] 334 335 public_configs = [ ":session_manager_public_config" ] 336 337 deps = [] 338 339 external_deps = [ 340 "ability_base:session_info", 341 "ability_base:want", 342 "ability_runtime:mission_info", 343 "c_utils:utils", 344 "hilog:libhilog", 345 "ipc:ipc_single", 346 "samgr:samgr_proxy", 347 ] 348 349 innerapi_tags = [ "platformsdk_indirect" ] 350 part_name = "window_manager" 351 subsystem_name = "window" 352} 353