12d4d9a4dSopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
22d4d9a4dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
32d4d9a4dSopenharmony_ci# you may not use this file except in compliance with the License.
42d4d9a4dSopenharmony_ci# You may obtain a copy of the License at
52d4d9a4dSopenharmony_ci#
62d4d9a4dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
72d4d9a4dSopenharmony_ci#
82d4d9a4dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
92d4d9a4dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
102d4d9a4dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112d4d9a4dSopenharmony_ci# See the License for the specific language governing permissions and
122d4d9a4dSopenharmony_ci# limitations under the License.
132d4d9a4dSopenharmony_ci
142d4d9a4dSopenharmony_ciimport("//build/ohos.gni")
152d4d9a4dSopenharmony_ciimport("../../../distributedinput.gni")
162d4d9a4dSopenharmony_ci
172d4d9a4dSopenharmony_ciohos_shared_library("libdinput_source") {
182d4d9a4dSopenharmony_ci  sanitize = {
192d4d9a4dSopenharmony_ci    boundary_sanitize = true
202d4d9a4dSopenharmony_ci    integer_overflow = true
212d4d9a4dSopenharmony_ci    ubsan = true
222d4d9a4dSopenharmony_ci    cfi = true
232d4d9a4dSopenharmony_ci    cfi_cross_dso = true
242d4d9a4dSopenharmony_ci    debug = false
252d4d9a4dSopenharmony_ci  }
262d4d9a4dSopenharmony_ci  branch_protector_ret = "pac_ret"
272d4d9a4dSopenharmony_ci  include_dirs = [
282d4d9a4dSopenharmony_ci    "include",
292d4d9a4dSopenharmony_ci    "${frameworks_path}/include",
302d4d9a4dSopenharmony_ci    "${innerkits_path}/include",
312d4d9a4dSopenharmony_ci    "${innerkits_path}/include/ipc",
322d4d9a4dSopenharmony_ci    "${innerkits_path}/src",
332d4d9a4dSopenharmony_ci    "${ipc_path}/include",
342d4d9a4dSopenharmony_ci    "${ipc_path}/src",
352d4d9a4dSopenharmony_ci    "${common_path}/include",
362d4d9a4dSopenharmony_ci    "${service_common}/include",
372d4d9a4dSopenharmony_ci    "${services_source_path}/inputinject/include",
382d4d9a4dSopenharmony_ci    "${services_source_path}/transport/include",
392d4d9a4dSopenharmony_ci    "${dfx_utils_path}/include",
402d4d9a4dSopenharmony_ci    "${utils_path}/include",
412d4d9a4dSopenharmony_ci    "${distributedinput_path}/inputdevicehandler/include",
422d4d9a4dSopenharmony_ci    "${distributedinput_path}/services/transportbase/include",
432d4d9a4dSopenharmony_ci  ]
442d4d9a4dSopenharmony_ci
452d4d9a4dSopenharmony_ci  sources = [
462d4d9a4dSopenharmony_ci    "${common_path}/include/input_check_param.cpp",
472d4d9a4dSopenharmony_ci    "${common_path}/include/white_list_util.cpp",
482d4d9a4dSopenharmony_ci    "${ipc_path}/src/add_white_list_infos_call_back_proxy.cpp",
492d4d9a4dSopenharmony_ci    "${ipc_path}/src/add_white_list_infos_call_back_stub.cpp",
502d4d9a4dSopenharmony_ci    "${ipc_path}/src/del_white_list_infos_call_back_proxy.cpp",
512d4d9a4dSopenharmony_ci    "${ipc_path}/src/del_white_list_infos_call_back_stub.cpp",
522d4d9a4dSopenharmony_ci    "${ipc_path}/src/distributed_input_sink_proxy.cpp",
532d4d9a4dSopenharmony_ci    "${ipc_path}/src/distributed_input_sink_stub.cpp",
542d4d9a4dSopenharmony_ci    "${ipc_path}/src/distributed_input_source_proxy.cpp",
552d4d9a4dSopenharmony_ci    "${ipc_path}/src/distributed_input_source_stub.cpp",
562d4d9a4dSopenharmony_ci    "${ipc_path}/src/get_sink_screen_infos_call_back_proxy.cpp",
572d4d9a4dSopenharmony_ci    "${ipc_path}/src/get_sink_screen_infos_call_back_stub.cpp",
582d4d9a4dSopenharmony_ci    "${ipc_path}/src/input_node_listener_proxy.cpp",
592d4d9a4dSopenharmony_ci    "${ipc_path}/src/input_node_listener_stub.cpp",
602d4d9a4dSopenharmony_ci    "${ipc_path}/src/prepare_d_input_call_back_proxy.cpp",
612d4d9a4dSopenharmony_ci    "${ipc_path}/src/prepare_d_input_call_back_stub.cpp",
622d4d9a4dSopenharmony_ci    "${ipc_path}/src/register_d_input_call_back_proxy.cpp",
632d4d9a4dSopenharmony_ci    "${ipc_path}/src/register_d_input_call_back_stub.cpp",
642d4d9a4dSopenharmony_ci    "${ipc_path}/src/register_session_state_callback_proxy.cpp",
652d4d9a4dSopenharmony_ci    "${ipc_path}/src/register_session_state_callback_stub.cpp",
662d4d9a4dSopenharmony_ci    "${ipc_path}/src/sharing_dhid_listener_proxy.cpp",
672d4d9a4dSopenharmony_ci    "${ipc_path}/src/sharing_dhid_listener_stub.cpp",
682d4d9a4dSopenharmony_ci    "${ipc_path}/src/simulation_event_listener_proxy.cpp",
692d4d9a4dSopenharmony_ci    "${ipc_path}/src/simulation_event_listener_stub.cpp",
702d4d9a4dSopenharmony_ci    "${ipc_path}/src/start_d_input_call_back_proxy.cpp",
712d4d9a4dSopenharmony_ci    "${ipc_path}/src/start_d_input_call_back_stub.cpp",
722d4d9a4dSopenharmony_ci    "${ipc_path}/src/start_stop_d_inputs_call_back_proxy.cpp",
732d4d9a4dSopenharmony_ci    "${ipc_path}/src/start_stop_d_inputs_call_back_stub.cpp",
742d4d9a4dSopenharmony_ci    "${ipc_path}/src/start_stop_result_call_back_proxy.cpp",
752d4d9a4dSopenharmony_ci    "${ipc_path}/src/start_stop_result_call_back_stub.cpp",
762d4d9a4dSopenharmony_ci    "${ipc_path}/src/stop_d_input_call_back_proxy.cpp",
772d4d9a4dSopenharmony_ci    "${ipc_path}/src/stop_d_input_call_back_stub.cpp",
782d4d9a4dSopenharmony_ci    "${ipc_path}/src/unprepare_d_input_call_back_proxy.cpp",
792d4d9a4dSopenharmony_ci    "${ipc_path}/src/unprepare_d_input_call_back_stub.cpp",
802d4d9a4dSopenharmony_ci    "${ipc_path}/src/unregister_d_input_call_back_proxy.cpp",
812d4d9a4dSopenharmony_ci    "${ipc_path}/src/unregister_d_input_call_back_stub.cpp",
822d4d9a4dSopenharmony_ci    "src/dinput_source_listener.cpp",
832d4d9a4dSopenharmony_ci    "src/dinput_source_manager_event_handler.cpp",
842d4d9a4dSopenharmony_ci    "src/distributed_input_source_event_handler.cpp",
852d4d9a4dSopenharmony_ci    "src/distributed_input_source_manager.cpp",
862d4d9a4dSopenharmony_ci    "src/distributed_input_source_sa_cli_mgr.cpp",
872d4d9a4dSopenharmony_ci  ]
882d4d9a4dSopenharmony_ci
892d4d9a4dSopenharmony_ci  defines = [
902d4d9a4dSopenharmony_ci    "HI_LOG_ENABLE",
912d4d9a4dSopenharmony_ci    "DH_LOG_TAG=\"distributedinputmanagerkit\"",
922d4d9a4dSopenharmony_ci    "LOG_DOMAIN=0xD004120",
932d4d9a4dSopenharmony_ci  ]
942d4d9a4dSopenharmony_ci
952d4d9a4dSopenharmony_ci  cflags = [
962d4d9a4dSopenharmony_ci    "-fstack-protector-strong",
972d4d9a4dSopenharmony_ci    "-D_FORTIFY_SOURCE=2",
982d4d9a4dSopenharmony_ci    "-O2",
992d4d9a4dSopenharmony_ci  ]
1002d4d9a4dSopenharmony_ci
1012d4d9a4dSopenharmony_ci  deps = [
1022d4d9a4dSopenharmony_ci    "${dfx_utils_path}:libdinput_dfx_utils",
1032d4d9a4dSopenharmony_ci    "${distributedinput_path}/services/transportbase:libdinput_trans_base",
1042d4d9a4dSopenharmony_ci    "${innerkits_path}:libdinput_sdk",
1052d4d9a4dSopenharmony_ci    "${services_source_path}/inputinject:libdinput_inject",
1062d4d9a4dSopenharmony_ci    "${services_source_path}/transport:libdinput_source_trans",
1072d4d9a4dSopenharmony_ci    "${utils_path}:libdinput_utils",
1082d4d9a4dSopenharmony_ci  ]
1092d4d9a4dSopenharmony_ci
1102d4d9a4dSopenharmony_ci  external_deps = [
1112d4d9a4dSopenharmony_ci    "access_token:libaccesstoken_sdk",
1122d4d9a4dSopenharmony_ci    "access_token:libtokenid_sdk",
1132d4d9a4dSopenharmony_ci    "c_utils:utils",
1142d4d9a4dSopenharmony_ci    "config_policy:configpolicy_util",
1152d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:distributed_av_receiver",
1162d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:distributed_av_sender",
1172d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:distributedhardwareutils",
1182d4d9a4dSopenharmony_ci    "distributed_hardware_fwk:libdhfwk_sdk",
1192d4d9a4dSopenharmony_ci    "dsoftbus:softbus_client",
1202d4d9a4dSopenharmony_ci    "eventhandler:libeventhandler",
1212d4d9a4dSopenharmony_ci    "hicollie:libhicollie",
1222d4d9a4dSopenharmony_ci    "hilog:libhilog",
1232d4d9a4dSopenharmony_ci    "hisysevent:libhisysevent",
1242d4d9a4dSopenharmony_ci    "hitrace:hitrace_meter",
1252d4d9a4dSopenharmony_ci    "ipc:ipc_core",
1262d4d9a4dSopenharmony_ci    "json:nlohmann_json_static",
1272d4d9a4dSopenharmony_ci    "libevdev:libevdev",
1282d4d9a4dSopenharmony_ci    "safwk:system_ability_fwk",
1292d4d9a4dSopenharmony_ci    "samgr:samgr_proxy",
1302d4d9a4dSopenharmony_ci  ]
1312d4d9a4dSopenharmony_ci
1322d4d9a4dSopenharmony_ci  cflags_cc = [
1332d4d9a4dSopenharmony_ci    "-DHILOG_ENABLE",
1342d4d9a4dSopenharmony_ci    "-fstack-protector-strong",
1352d4d9a4dSopenharmony_ci    "-D_FORTIFY_SOURCE=2",
1362d4d9a4dSopenharmony_ci    "-O2",
1372d4d9a4dSopenharmony_ci  ]
1382d4d9a4dSopenharmony_ci
1392d4d9a4dSopenharmony_ci  subsystem_name = "distributedhardware"
1402d4d9a4dSopenharmony_ci
1412d4d9a4dSopenharmony_ci  part_name = "distributed_input"
1422d4d9a4dSopenharmony_ci}
143