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