1c29fa5a6Sopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
2c29fa5a6Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c29fa5a6Sopenharmony_ci# you may not use this file except in compliance with the License.
4c29fa5a6Sopenharmony_ci# You may obtain a copy of the License at
5c29fa5a6Sopenharmony_ci#
6c29fa5a6Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c29fa5a6Sopenharmony_ci#
8c29fa5a6Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c29fa5a6Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c29fa5a6Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c29fa5a6Sopenharmony_ci# See the License for the specific language governing permissions and
12c29fa5a6Sopenharmony_ci# limitations under the License.
13c29fa5a6Sopenharmony_ci
14c29fa5a6Sopenharmony_ciimport("../../../device_status.gni")
15c29fa5a6Sopenharmony_ci
16c29fa5a6Sopenharmony_ciconfig("intention_cooperate_public_config") {
17c29fa5a6Sopenharmony_ci  include_dirs = [ "include" ]
18c29fa5a6Sopenharmony_ci}
19c29fa5a6Sopenharmony_ci
20c29fa5a6Sopenharmony_ciohos_shared_library("intention_cooperate") {
21c29fa5a6Sopenharmony_ci  sanitize = {
22c29fa5a6Sopenharmony_ci    integer_overflow = true
23c29fa5a6Sopenharmony_ci    ubsan = true
24c29fa5a6Sopenharmony_ci    boundary_sanitize = true
25c29fa5a6Sopenharmony_ci    cfi = true
26c29fa5a6Sopenharmony_ci    cfi_cross_dso = true
27c29fa5a6Sopenharmony_ci    debug = false
28c29fa5a6Sopenharmony_ci  }
29c29fa5a6Sopenharmony_ci
30c29fa5a6Sopenharmony_ci  branch_protector_ret = "pac_ret"
31c29fa5a6Sopenharmony_ci
32c29fa5a6Sopenharmony_ci  include_dirs = [
33c29fa5a6Sopenharmony_ci    "include",
34c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/services/device_manager/include",
35c29fa5a6Sopenharmony_ci  ]
36c29fa5a6Sopenharmony_ci
37c29fa5a6Sopenharmony_ci  sources = [
38c29fa5a6Sopenharmony_ci    "src/cooperate.cpp",
39c29fa5a6Sopenharmony_ci    "src/cooperate_context.cpp",
40c29fa5a6Sopenharmony_ci    "src/cooperate_free.cpp",
41c29fa5a6Sopenharmony_ci    "src/cooperate_in.cpp",
42c29fa5a6Sopenharmony_ci    "src/cooperate_out.cpp",
43c29fa5a6Sopenharmony_ci    "src/dsoftbus_handler.cpp",
44c29fa5a6Sopenharmony_ci    "src/event_manager.cpp",
45c29fa5a6Sopenharmony_ci    "src/hot_area.cpp",
46c29fa5a6Sopenharmony_ci    "src/i_cooperate_state.cpp",
47c29fa5a6Sopenharmony_ci    "src/input_device_mgr.cpp",
48c29fa5a6Sopenharmony_ci    "src/input_event_transmission/input_event_builder.cpp",
49c29fa5a6Sopenharmony_ci    "src/input_event_transmission/input_event_interceptor.cpp",
50c29fa5a6Sopenharmony_ci    "src/input_event_transmission/input_event_serialization.cpp",
51c29fa5a6Sopenharmony_ci    "src/mouse_location.cpp",
52c29fa5a6Sopenharmony_ci    "src/state_machine.cpp",
53c29fa5a6Sopenharmony_ci  ]
54c29fa5a6Sopenharmony_ci
55c29fa5a6Sopenharmony_ci  public_configs = [ ":intention_cooperate_public_config" ]
56c29fa5a6Sopenharmony_ci
57c29fa5a6Sopenharmony_ci  defines = device_status_default_defines
58c29fa5a6Sopenharmony_ci
59c29fa5a6Sopenharmony_ci  deps = [
60c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/adapters/common_event_adapter:intention_common_event_adapter",
61c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/adapters/ddm_adapter:intention_ddm_adapter",
62c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/common/channel:intention_channel",
63c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/dfx:cooperate_dfx",
64c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/prototype:intention_prototype",
65c29fa5a6Sopenharmony_ci    "${device_status_root_path}/intention/services/device_manager:intention_device_manager",
66c29fa5a6Sopenharmony_ci    "${device_status_root_path}/utils/common:devicestatus_util",
67c29fa5a6Sopenharmony_ci    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
68c29fa5a6Sopenharmony_ci  ]
69c29fa5a6Sopenharmony_ci
70c29fa5a6Sopenharmony_ci  external_deps = [
71c29fa5a6Sopenharmony_ci    "ability_runtime:app_manager",
72c29fa5a6Sopenharmony_ci    "access_token:libaccesstoken_sdk",
73c29fa5a6Sopenharmony_ci    "access_token:libtokensetproc_shared",
74c29fa5a6Sopenharmony_ci    "c_utils:utils",
75c29fa5a6Sopenharmony_ci    "common_event_service:cesfwk_innerkits",
76c29fa5a6Sopenharmony_ci    "device_manager:devicemanagersdk",
77c29fa5a6Sopenharmony_ci    "eventhandler:libeventhandler",
78c29fa5a6Sopenharmony_ci    "graphic_2d:librender_service_client",
79c29fa5a6Sopenharmony_ci    "hilog:libhilog",
80c29fa5a6Sopenharmony_ci    "image_framework:image_native",
81c29fa5a6Sopenharmony_ci    "input:libmmi-client",
82c29fa5a6Sopenharmony_ci    "ipc:ipc_single",
83c29fa5a6Sopenharmony_ci    "samgr:samgr_proxy",
84c29fa5a6Sopenharmony_ci    "window_manager:libwmutil_base",
85c29fa5a6Sopenharmony_ci  ]
86c29fa5a6Sopenharmony_ci
87c29fa5a6Sopenharmony_ci  subsystem_name = "${device_status_subsystem_name}"
88c29fa5a6Sopenharmony_ci  part_name = "${device_status_part_name}"
89c29fa5a6Sopenharmony_ci}
90