• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2022-2025 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/config/components/idl_tool/idl.gni")
15import("//build/ohos.gni")
16
17idl_gen_interface("accessible_ability_manager_service_interface") {
18  sources = [ "IAccessibleAbilityManagerService.idl" ]
19  sources_common = [ "AccessibilityIpcTypes.idl" ]
20  subsystem_name = "barrierfree"
21  part_name = "accessibility"
22}
23
24config("accessibility_interface_private_config") {
25  visibility = [ ":*" ]
26
27  include_dirs = [
28    "include/parcel",
29    "../log/include",
30  ]
31
32  defines = [
33    "AAMS_LOG_TAG = \"accessibility_interface\"",
34    "AAMS_LOG_DOMAIN = 0xD001D05",
35  ]
36
37  if (target_cpu == "arm") {
38    cflags = [ "-DBINDER_IPC_32BIT" ]
39  }
40
41  if (build_variant == "user") {
42    defines += [ "RELEASE_VERSION" ]
43  }
44}
45
46config("accessibility_interface_public_config") {
47  include_dirs = [
48    "${target_gen_dir}",
49    "include",
50  ]
51}
52
53accessibility_interface_src = [
54  "src/accessibility_element_operator_callback_proxy.cpp",
55  "src/accessibility_element_operator_callback_stub.cpp",
56  "src/accessibility_element_operator_proxy.cpp",
57  "src/accessibility_element_operator_stub.cpp",
58  "src/accessibility_enable_ability_lists_observer_proxy.cpp",
59  "src/accessibility_enable_ability_lists_observer_stub.cpp",
60  "src/accessible_ability_channel_proxy.cpp",
61  "src/accessible_ability_channel_stub.cpp",
62  "src/accessible_ability_client_proxy.cpp",
63  "src/accessible_ability_client_stub.cpp",
64  "src/accessible_ability_manager_caption_observer_proxy.cpp",
65  "src/accessible_ability_manager_caption_observer_stub.cpp",
66  "src/accessible_ability_manager_config_observer_proxy.cpp",
67  "src/accessible_ability_manager_config_observer_stub.cpp",
68  "src/accessible_ability_manager_state_observer_proxy.cpp",
69  "src/accessible_ability_manager_state_observer_stub.cpp",
70]
71
72accessibility_data_parcel_src = [
73  "src/parcel/accessibility_ability_info_parcel.cpp",
74  "src/parcel/accessibility_caption_parcel.cpp",
75  "src/parcel/accessibility_element_info_parcel.cpp",
76  "src/parcel/accessibility_event_info_parcel.cpp",
77  "src/parcel/accessibility_gesture_inject_path_parcel.cpp",
78  "src/parcel/accessibility_window_info_parcel.cpp",
79]
80
81ohos_shared_library("accessibility_interface") {
82  branch_protector_ret = "pac_ret"
83  sanitize = {
84    integer_overflow = true
85    ubsan = true
86    boundary_sanitize = true
87    cfi = true
88    cfi_cross_dso = true
89    debug = false
90  }
91
92  output_values =
93      get_target_outputs(":accessible_ability_manager_service_interface")
94  sources = accessibility_interface_src
95  sources += accessibility_data_parcel_src
96  sources += filter_include(output_values, [ "*proxy.cpp" ])
97  sources += filter_include(output_values, [ "*stub.cpp" ])
98  sources += filter_include(output_values, [ "*types.cpp" ])
99  configs = [
100    ":accessibility_interface_private_config",
101    "../../resources/config/build:coverage_flags",
102  ]
103
104  public_configs = [ ":accessibility_interface_public_config" ]
105
106  deps = [
107    ":accessible_ability_manager_service_interface",
108    "../../interfaces/innerkits/common:accessibility_common",
109  ]
110
111  external_deps = [
112    "access_token:libaccesstoken_sdk",
113    "access_token:libtokenid_sdk",
114    "c_utils:utils",
115    "ffrt:libffrt",
116    "hilog:libhilog",
117    "input:libmmi-client",
118    "ipc:ipc_single",
119  ]
120
121  install_enable = true
122
123  subsystem_name = "barrierfree"
124  innerapi_tags = [ "platformsdk_indirect" ]
125  part_name = "accessibility"
126}
127