1# Copyright (c) 2023 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("../../../device_status.gni") 15import("//build/config/components/idl_tool/idl.gni") 16 17config("intention_tunnel_public_config") { 18 include_dirs = [ 19 "include", 20 "${target_gen_dir}", 21 "${device_status_root_path}/intention/ipc/sequenceable_types/include", 22 "${device_status_root_path}/interfaces/innerkits/interaction/include", 23 "${device_status_root_path}/interfaces/innerkits/include" 24 ] 25} 26 27idl_gen_interface("intention_interface") { 28 sources = [ "IIntention.idl" ] 29 log_domainid = "0xD002220" 30 log_tag = "IntentionIdl" 31 part_name = "${device_status_part_name}" 32 subsystem_name = "msdp" 33} 34 35ohos_source_set("intention_client") { 36 sanitize = { 37 cfi = true 38 cfi_cross_dso = true 39 debug = false 40 } 41 42 branch_protector_ret = "pac_ret" 43 44 include_dirs = [ "include" ] 45 46 output_values = get_target_outputs(":intention_interface") 47 48 sources = [ 49 "src/intention_client.cpp", 50 ] 51 52 sources += filter_include(output_values, [ "*_proxy.cpp" ]) 53 54 public_configs = [ ":intention_tunnel_public_config" ] 55 56 deps = [ 57 "${device_status_root_path}/intention/prototype:intention_prototype", 58 "${device_status_utils_path}:devicestatus_util", 59 "${device_status_root_path}/intention/ipc/sequenceable_types:sequenceable_types", 60 ":intention_interface" 61 ] 62 63 external_deps = [ 64 "c_utils:utils", 65 "graphic_2d:librender_service_client", 66 "hilog:libhilog", 67 "ipc:ipc_core", 68 "samgr:samgr_proxy", 69 "image_framework:image_native" 70 ] 71 72 subsystem_name = "${device_status_subsystem_name}" 73 part_name = "${device_status_part_name}" 74} 75 76ohos_source_set("intention_server_stub") { 77 public_configs = [ ":intention_tunnel_public_config" ] 78 branch_protector_ret = "pac_ret" 79 sanitize = { 80 cfi = true 81 cfi_cross_dso = true 82 debug = false 83 } 84 output_values = get_target_outputs(":intention_interface") 85 sources = filter_include(output_values, [ "*_stub.cpp" ]) 86 deps = [ 87 ":intention_interface", 88 "${device_status_root_path}/intention/ipc/sequenceable_types:sequenceable_types" 89 ] 90 external_deps = [ 91 "c_utils:utils", 92 "graphic_2d:librender_service_client", 93 "hilog:libhilog", 94 "ipc:ipc_single", 95 "samgr:samgr_proxy", 96 "image_framework:image_native" 97 ] 98 part_name = "${device_status_part_name}" 99 subsystem_name = "msdp" 100} 101