1# Copyright (C) 2022-2024 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("../../accessibility_manager_service.gni") 16 17services_path = "./" 18 19ohos_prebuilt_etc("accessibility_service.rc") { 20 source = "etc/accessibility_service.rc" 21 relative_install_dir = "init" 22 part_name = "accessibility" 23 subsystem_name = "barrierfree" 24} 25 26config("aams_service_config") { 27 visibility = [ ":*" ] 28 29 include_dirs = [ 30 "include", 31 "../../common/log/include", 32 ] 33 34 defines = [ 35 "AAMS_LOG_TAG = \"accessibility\"", 36 "AAMS_LOG_DOMAIN = 0xD001D00", 37 ] 38 39 if (build_variant == "user") { 40 defines += [ "RELEASE_VERSION" ] 41 } 42 43 defines += accessibility_default_defines 44} 45 46accessibleabilityms_files = [ 47 "${services_path}/src/accessible_ability_channel.cpp", 48 "${services_path}/src/accessible_ability_connection.cpp", 49 "${services_path}/src/accessible_ability_manager_service_event_handler.cpp", 50 "${services_path}/src/accessible_ability_manager_service.cpp", 51 "${services_path}/src/accessibility_account_data.cpp", 52 "${services_path}/src/accessibility_circle_drawing_manager.cpp", 53 "${services_path}/src/accessibility_settings.cpp", 54 "${services_path}/src/accessibility_settings_config.cpp", 55 "${services_path}/src/accessibility_window_connection.cpp", 56 "${services_path}/src/accessibility_zoom_gesture.cpp", 57 "${services_path}/src/accessibility_common_event.cpp", 58 "${services_path}/src/accessibility_event_transmission.cpp", 59 "${services_path}/src/accessibility_input_interceptor.cpp", 60 "${services_path}/src/accessibility_keyevent_filter.cpp", 61 "${services_path}/src/accessibility_mouse_autoclick.cpp", 62 "${services_path}/src/accessibility_mouse_key.cpp", 63 "${services_path}/src/accessibility_screen_touch.cpp", 64 "${services_path}/src/accessibility_short_key.cpp", 65 "${services_path}/src/accessibility_touchEvent_injector.cpp", 66 "${services_path}/src/accessibility_window_manager.cpp", 67 "${services_path}/src/accessibility_dumper.cpp", 68 "${services_path}/src/accessibility_resource_bundle_manager.cpp", 69 "${services_path}/src/accessibility_setting_observer.cpp", 70 "${services_path}/src/accessibility_setting_provider.cpp", 71 "${services_path}/src/accessibility_notification_helper.cpp", 72 "${services_path}/src/msdp_manager.cpp", 73 "${services_path}/src/accessibility_security_component_manager.cpp", 74 "${services_path}/src/accessibility_short_key_dialog.cpp", 75 "${services_path}/src/accessibility_datashare_helper.cpp", 76 "${services_path}/src/touch_exploration_multi_finger_gesture.cpp", 77 "${services_path}/src/touch_exploration_single_finger_gesture.cpp", 78 "${services_path}/src/utils.cpp", 79 "${services_path}/src/magnification_manager.cpp", 80 "${services_path}/src/window_magnification_manager.cpp", 81 "${services_path}/src/window_magnification_gesture.cpp", 82 "${services_path}/src/magnification_menu_manager.cpp", 83 "${services_path}/src/full_screen_magnification_manager.cpp", 84 "${services_path}/src/magnification_window_proxy.cpp", 85] 86 87ohos_shared_library("accessibleabilityms") { 88 branch_protector_ret = "pac_ret" 89 sanitize = { 90 integer_overflow = true 91 ubsan = true 92 boundary_sanitize = true 93 cfi = true 94 cfi_cross_dso = true 95 debug = false 96 } 97 98 sources = accessibleabilityms_files 99 if (accessibility_feature_power_manager) { 100 sources += [ "${services_path}/src/accessibility_power_manager.cpp" ] 101 } 102 103 if (accessibility_feature_display_manager) { 104 sources += [ "${services_path}/src/accessibility_display_manager.cpp" ] 105 } 106 107 configs = [ 108 ":aams_service_config", 109 "../../resources/config/build:coverage_flags", 110 ] 111 112 version_script = "libaccessibilityms.map" 113 114 deps = [ 115 "../../common/interface:accessibility_interface", 116 "../../interfaces/innerkits/common:accessibility_common", 117 ] 118 119 external_deps = [ 120 "ability_base:want", 121 "ability_base:zuri", 122 "ability_base:configuration", 123 "ability_runtime:ability_connect_callback_stub", 124 "ability_runtime:ability_manager", 125 "ability_runtime:abilitykit_native", 126 "ability_runtime:extension_manager", 127 "ability_runtime:app_manager", 128 "access_token:libaccesstoken_sdk", 129 "access_token:libtokenid_sdk", 130 "bundle_framework:appexecfwk_core", 131 "c_utils:utils", 132 "common_event_service:cesfwk_innerkits", 133 "eventhandler:libeventhandler", 134 "ffrt:libffrt", 135 "graphic_2d:2d_graphics", 136 "graphic_2d:librender_service_client", 137 "graphic_2d:librender_service_base", 138 "hicollie:libhicollie", 139 "hilog:libhilog", 140 "i18n:intl_util", 141 "init:libbeget_proxy", 142 "init:libbegetutil", 143 "input:libmmi-client", 144 "ipc:ipc_single", 145 "memmgr:memmgrclient", 146 "os_account:os_account_innerkits", 147 "resource_management:global_resmgr", 148 "safwk:system_ability_fwk", 149 "samgr:samgr_proxy", 150 "window_manager:libdm", 151 ] 152 153 if (accessibility_feature_power_manager) { 154 external_deps += [ "power_manager:powermgr_client" ] 155 } 156 157 if (accessibility_feature_display_manager) { 158 external_deps += [ "display_manager:displaymgr" ] 159 } 160 161 if (accessibility_feature_data_share) { 162 external_deps += [ "data_share:datashare_consumer" ] 163 } 164 165 if (accessibility_feature_hiviewdfx_hitrace) { 166 external_deps += [ "hitrace:hitrace_meter" ] 167 } 168 169 if (accessibility_feature_hiviewdfx_hisysevent) { 170 external_deps += [ "hisysevent:libhisysevent" ] 171 } 172 173 if (accessibility_watch_feature) { 174 external_deps += [ "resource_schedule_service:ressched_client" ] 175 } 176 177 if (security_component_enable) { 178 external_deps += [ "security_component_manager:libsecurity_component_sdk" ] 179 } 180 181 install_enable = true 182 183 subsystem_name = "barrierfree" 184 part_name = "accessibility" 185} 186