1e0dac50fSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 2e0dac50fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3e0dac50fSopenharmony_ci# you may not use this file except in compliance with the License. 4e0dac50fSopenharmony_ci# You may obtain a copy of the License at 5e0dac50fSopenharmony_ci# 6e0dac50fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7e0dac50fSopenharmony_ci# 8e0dac50fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9e0dac50fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10e0dac50fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11e0dac50fSopenharmony_ci# See the License for the specific language governing permissions and 12e0dac50fSopenharmony_ci# limitations under the License. 13e0dac50fSopenharmony_ci 14e0dac50fSopenharmony_ciimport("//build/ohos.gni") 15e0dac50fSopenharmony_ciimport("../../windowmanager_aafwk.gni") 16e0dac50fSopenharmony_ci 17e0dac50fSopenharmony_ciconfig("session_manager_public_config") { 18e0dac50fSopenharmony_ci visibility = [ ":*" ] 19e0dac50fSopenharmony_ci 20e0dac50fSopenharmony_ci include_dirs = [ 21e0dac50fSopenharmony_ci "${window_base_path}/interfaces/innerkits/wm", 22e0dac50fSopenharmony_ci "${window_base_path}/interfaces/include", 23e0dac50fSopenharmony_ci "${window_base_path}/window_scene", 24e0dac50fSopenharmony_ci "${window_base_path}/window_scene/common/include", 25e0dac50fSopenharmony_ci "${window_base_path}/window_scene/interfaces/include", 26e0dac50fSopenharmony_ci "${window_base_path}/window_scene/screen_session_manager/include", 27e0dac50fSopenharmony_ci "${window_base_path}/window_scene/screen_session_manager/include/zidl", 28e0dac50fSopenharmony_ci "${window_base_path}/window_scene/session_manager_service/include", 29e0dac50fSopenharmony_ci 30e0dac50fSopenharmony_ci # for session_manager 31e0dac50fSopenharmony_ci "${window_base_path}/wmserver/include", 32e0dac50fSopenharmony_ci "${window_base_path}/wmserver/include/zidl", 33e0dac50fSopenharmony_ci 34e0dac50fSopenharmony_ci # for screen_session_manager 35e0dac50fSopenharmony_ci "${window_base_path}/utils/include", 36e0dac50fSopenharmony_ci "${window_base_path}/dm/include", 37e0dac50fSopenharmony_ci "${window_base_path}/interfaces/innerkits/dm", 38e0dac50fSopenharmony_ci "${window_base_path}/dmserver/include", 39e0dac50fSopenharmony_ci 40e0dac50fSopenharmony_ci # for scene session manager 41e0dac50fSopenharmony_ci "${window_base_path}/interfaces/innerkits/wm", 42e0dac50fSopenharmony_ci "${window_base_path}/wmserver/include", 43e0dac50fSopenharmony_ci "${window_base_path}/window_scene/screen_session_manager_client/include", 44e0dac50fSopenharmony_ci 45e0dac50fSopenharmony_ci # for window_manager_hilog 46e0dac50fSopenharmony_ci "${window_base_path}/utils/include", 47e0dac50fSopenharmony_ci 48e0dac50fSopenharmony_ci "${window_base_path}/wm/include", 49e0dac50fSopenharmony_ci "${window_base_path}/wm/include/zidl", 50e0dac50fSopenharmony_ci ] 51e0dac50fSopenharmony_ci} 52e0dac50fSopenharmony_ci 53e0dac50fSopenharmony_ciohos_shared_library("screen_session_manager") { 54e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 55e0dac50fSopenharmony_ci sanitize = { 56e0dac50fSopenharmony_ci cfi = true 57e0dac50fSopenharmony_ci cfi_cross_dso = true 58e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 59e0dac50fSopenharmony_ci debug = false 60e0dac50fSopenharmony_ci } 61e0dac50fSopenharmony_ci sources = [ 62e0dac50fSopenharmony_ci "../../dm/src/zidl/display_manager_agent_proxy.cpp", 63e0dac50fSopenharmony_ci "../screen_session_manager_client/src/zidl/screen_session_manager_client_proxy.cpp", 64e0dac50fSopenharmony_ci "src/connection/screen_cast_connection.cpp", 65e0dac50fSopenharmony_ci "src/connection/screen_session_ability_connection.cpp", 66e0dac50fSopenharmony_ci "src/connection/screen_snapshot_picker_connection.cpp", 67e0dac50fSopenharmony_ci "src/fold_screen_controller/dual_display_fold_policy.cpp", 68e0dac50fSopenharmony_ci "src/fold_screen_controller/fold_screen_controller.cpp", 69e0dac50fSopenharmony_ci "src/fold_screen_controller/fold_screen_policy.cpp", 70e0dac50fSopenharmony_ci "src/fold_screen_controller/fold_screen_sensor_manager.cpp", 71e0dac50fSopenharmony_ci "src/fold_screen_controller/fold_screen_state_machine.cpp", 72e0dac50fSopenharmony_ci "src/fold_screen_controller/sensor_fold_state_manager/dual_display_sensor_fold_state_manager.cpp", 73e0dac50fSopenharmony_ci "src/fold_screen_controller/sensor_fold_state_manager/sensor_fold_state_manager.cpp", 74e0dac50fSopenharmony_ci "src/fold_screen_controller/sensor_fold_state_manager/single_display_sensor_fold_state_manager.cpp", 75e0dac50fSopenharmony_ci "src/fold_screen_controller/sensor_fold_state_manager/single_display_sensor_pocket_fold_state_manager.cpp", 76e0dac50fSopenharmony_ci "src/fold_screen_controller/single_display_fold_policy.cpp", 77e0dac50fSopenharmony_ci "src/fold_screen_controller/single_display_pocket_fold_policy.cpp", 78e0dac50fSopenharmony_ci "src/multi_screen_manager.cpp", 79e0dac50fSopenharmony_ci "src/publish/screen_session_publish.cpp", 80e0dac50fSopenharmony_ci "src/screen_cutout_controller.cpp", 81e0dac50fSopenharmony_ci "src/screen_rotation_property.cpp", 82e0dac50fSopenharmony_ci "src/screen_scene_config.cpp", 83e0dac50fSopenharmony_ci "src/screen_sensor_connector.cpp", 84e0dac50fSopenharmony_ci "src/screen_session_dumper.cpp", 85e0dac50fSopenharmony_ci "src/screen_session_manager.cpp", 86e0dac50fSopenharmony_ci "src/screen_setting_helper.cpp", 87e0dac50fSopenharmony_ci "src/screen_tent_property.cpp", 88e0dac50fSopenharmony_ci "src/session_display_power_controller.cpp", 89e0dac50fSopenharmony_ci "src/setting_observer.cpp", 90e0dac50fSopenharmony_ci "src/setting_provider.cpp", 91e0dac50fSopenharmony_ci "src/zidl/screen_session_manager_stub.cpp", 92e0dac50fSopenharmony_ci ] 93e0dac50fSopenharmony_ci 94e0dac50fSopenharmony_ci cflags_cc = [ "-std=c++17" ] 95e0dac50fSopenharmony_ci 96e0dac50fSopenharmony_ci public_configs = [ ":session_manager_public_config" ] 97e0dac50fSopenharmony_ci public_external_deps = [ 98e0dac50fSopenharmony_ci "ability_runtime:session_handler", 99e0dac50fSopenharmony_ci "accessibility:accessibility_common", 100e0dac50fSopenharmony_ci "input:libmmi-client", 101e0dac50fSopenharmony_ci "input:libmmi-napi", 102e0dac50fSopenharmony_ci ] 103e0dac50fSopenharmony_ci deps = [ 104e0dac50fSopenharmony_ci "${window_base_path}/etc:wms_etc", 105e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil", 106e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil_base", 107e0dac50fSopenharmony_ci "${window_base_path}/window_scene/common:window_scene_common", 108e0dac50fSopenharmony_ci "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 109e0dac50fSopenharmony_ci "${window_base_path}/window_scene/session:screen_session", 110e0dac50fSopenharmony_ci "${window_base_path}/wmserver:sms", 111e0dac50fSopenharmony_ci ] 112e0dac50fSopenharmony_ci 113e0dac50fSopenharmony_ci external_deps = [ 114e0dac50fSopenharmony_ci "ability_base:base", 115e0dac50fSopenharmony_ci "ability_base:want", 116e0dac50fSopenharmony_ci "ability_base:zuri", 117e0dac50fSopenharmony_ci "ability_runtime:ability_connect_callback_stub", 118e0dac50fSopenharmony_ci "ability_runtime:ability_manager", 119e0dac50fSopenharmony_ci "ability_runtime:abilitykit_native", 120e0dac50fSopenharmony_ci "ability_runtime:app_manager", 121e0dac50fSopenharmony_ci "ability_runtime:dataobs_manager", 122e0dac50fSopenharmony_ci "ability_runtime:extension_manager", 123e0dac50fSopenharmony_ci "c_utils:utils", 124e0dac50fSopenharmony_ci "common_event_service:cesfwk_innerkits", 125e0dac50fSopenharmony_ci "config_policy:configpolicy_util", 126e0dac50fSopenharmony_ci "data_share:datashare_common", 127e0dac50fSopenharmony_ci "data_share:datashare_consumer", 128e0dac50fSopenharmony_ci "eventhandler:libeventhandler", 129e0dac50fSopenharmony_ci "graphic_2d:librender_service_client", 130e0dac50fSopenharmony_ci "hicollie:libhicollie", 131e0dac50fSopenharmony_ci "hilog:libhilog", 132e0dac50fSopenharmony_ci "hisysevent:libhisysevent", 133e0dac50fSopenharmony_ci "hitrace:hitrace_meter", 134e0dac50fSopenharmony_ci "init:libbeget_proxy", 135e0dac50fSopenharmony_ci "ipc:ipc_core", 136e0dac50fSopenharmony_ci "libxml2:libxml2", 137e0dac50fSopenharmony_ci "safwk:system_ability_fwk", 138e0dac50fSopenharmony_ci "samgr:samgr_proxy", 139e0dac50fSopenharmony_ci ] 140e0dac50fSopenharmony_ci 141e0dac50fSopenharmony_ci defines = [] 142e0dac50fSopenharmony_ci if (window_manager_feature_subscribe_motion) { 143e0dac50fSopenharmony_ci if (defined(global_parts_info) && defined(global_parts_info.msdp_motion)) { 144e0dac50fSopenharmony_ci external_deps += [ "motion:motion_interface_native" ] 145e0dac50fSopenharmony_ci defines += [ "WM_SUBSCRIBE_MOTION_ENABLE" ] 146e0dac50fSopenharmony_ci } 147e0dac50fSopenharmony_ci } 148e0dac50fSopenharmony_ci 149e0dac50fSopenharmony_ci if (defined(global_parts_info) && defined(global_parts_info.sensors_sensor)) { 150e0dac50fSopenharmony_ci external_deps += [ "sensor:sensor_interface_native" ] 151e0dac50fSopenharmony_ci defines += [ "SENSOR_ENABLE" ] 152e0dac50fSopenharmony_ci } 153e0dac50fSopenharmony_ci 154e0dac50fSopenharmony_ci if (defined(global_parts_info) && 155e0dac50fSopenharmony_ci defined(global_parts_info.powermgr_power_manager)) { 156e0dac50fSopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 157e0dac50fSopenharmony_ci defines += [ "POWER_MANAGER_ENABLE" ] 158e0dac50fSopenharmony_ci } 159e0dac50fSopenharmony_ci 160e0dac50fSopenharmony_ci if (window_manager_feature_tp_enable) { 161e0dac50fSopenharmony_ci defines += [ "TP_FEATURE_ENABLE" ] 162e0dac50fSopenharmony_ci } 163e0dac50fSopenharmony_ci 164e0dac50fSopenharmony_ci if (is_standard_system) { 165e0dac50fSopenharmony_ci external_deps += [ "init:libbegetutil" ] 166e0dac50fSopenharmony_ci } else { 167e0dac50fSopenharmony_ci external_deps += [ "init_lite:libbegetutil" ] 168e0dac50fSopenharmony_ci } 169e0dac50fSopenharmony_ci 170e0dac50fSopenharmony_ci if (device_status_enable) { 171e0dac50fSopenharmony_ci external_deps += [ "device_status:devicestatus_client" ] 172e0dac50fSopenharmony_ci defines += [ "DEVICE_STATUS_ENABLE" ] 173e0dac50fSopenharmony_ci } 174e0dac50fSopenharmony_ci 175e0dac50fSopenharmony_ci innerapi_tags = [ "platformsdk" ] 176e0dac50fSopenharmony_ci part_name = "window_manager" 177e0dac50fSopenharmony_ci subsystem_name = "window" 178e0dac50fSopenharmony_ci} 179