# Copyright (C) 2022 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import("//build/ohos.gni") import("../../accessibility_manager_service.gni") services_path = "./" ohos_prebuilt_etc("accessibility_service.rc") { source = "etc/accessibility_service.rc" relative_install_dir = "init" part_name = "accessibility" subsystem_name = "barrierfree" } config("aams_service_config") { visibility = [ ":*" ] include_dirs = [ "include", "../../common/log/include", ] defines = [ "AAMS_LOG_TAG = \"accessibility\"", "AAMS_LOG_DOMAIN = 0xD001D00", ] if (build_variant == "user") { defines += [ "RELEASE_VERSION" ] } defines += accessibility_default_defines } accessibleabilityms_files = [ "${services_path}/src/accessible_ability_channel.cpp", "${services_path}/src/accessible_ability_connection.cpp", "${services_path}/src/accessible_ability_manager_service_event_handler.cpp", "${services_path}/src/accessible_ability_manager_service.cpp", "${services_path}/src/accessibility_account_data.cpp", "${services_path}/src/accessibility_circle_drawing_manager.cpp", "${services_path}/src/accessibility_settings.cpp", "${services_path}/src/accessibility_settings_config.cpp", "${services_path}/src/accessibility_window_connection.cpp", "${services_path}/src/accessibility_zoom_gesture.cpp", "${services_path}/src/accessibility_common_event.cpp", "${services_path}/src/accessibility_touch_guider.cpp", "${services_path}/src/accessibility_gesture_recognizer.cpp", "${services_path}/src/accessibility_event_transmission.cpp", "${services_path}/src/accessibility_input_interceptor.cpp", "${services_path}/src/accessibility_touchEvent_injector.cpp", "${services_path}/src/accessibility_keyevent_filter.cpp", "${services_path}/src/accessibility_mouse_autoclick.cpp", "${services_path}/src/accessibility_multifinger_multitap.cpp", "${services_path}/src/accessibility_mouse_key.cpp", "${services_path}/src/accessibility_screen_touch.cpp", "${services_path}/src/accessibility_short_key.cpp", "${services_path}/src/accessibility_window_manager.cpp", "${services_path}/src/utils.cpp", "${services_path}/src/accessibility_dumper.cpp", "${services_path}/src/accessibility_setting_observer.cpp", "${services_path}/src/accessibility_setting_provider.cpp", "${services_path}/src/accessibility_short_key_dialog.cpp", "${services_path}/src/accessibility_datashare_helper.cpp", ] ohos_shared_library("accessibleabilityms") { branch_protector_ret = "pac_ret" sanitize = { integer_overflow = true ubsan = true boundary_sanitize = true cfi = true cfi_cross_dso = true debug = false } sources = accessibleabilityms_files if (accessibility_feature_power_manager) { sources += [ "${services_path}/src/accessibility_power_manager.cpp" ] } if (accessibility_feature_display_manager) { sources += [ "${services_path}/src/accessibility_display_manager.cpp" ] } configs = [ ":aams_service_config", "../../resources/config/build:coverage_flags", ] deps = [ "../../common/interface:accessibility_interface", "../../interfaces/innerkits/common:accessibility_common", ] external_deps = [ "ability_base:want", "ability_base:zuri", "ability_runtime:ability_manager", "ability_runtime:abilitykit_native", "ability_runtime:dataobs_manager", "ability_runtime:extension_manager", "bundle_framework:appexecfwk_core", "c_utils:utils", "common_event_service:cesfwk_innerkits", "data_share:datashare_consumer", "display_manager:displaymgr", "eventhandler:libeventhandler", "ffrt:libffrt", "graphic_2d:2d_graphics", "graphic_2d:librender_service_client", "hicollie:libhicollie", "hilog:libhilog", "hisysevent:libhisysevent", "hitrace:hitrace_meter", "init:libbegetutil", "input:libmmi-client", "ipc:ipc_single", "os_account:os_account_innerkits", "power_manager:powermgr_client", "preferences:native_preferences", "safwk:system_ability_fwk", "samgr:samgr_proxy", "window_manager:libdm", "window_manager:libwm_lite", ] install_enable = true subsystem_name = "barrierfree" part_name = "accessibility" }