• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2022 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")
16import("//build/ohos_var.gni")
17import("../../../nfc.gni")
18
19idl_gen_interface("nfc_hce_interface") {
20  sources = [ "idl/IHceSession.idl" ]
21  configs = [ ":nfc_inner_kits_public_config" ]
22
23  sequenceable_ext_deps = [
24    "ability_base:want",
25    "bundle_framework:appexecfwk_base",
26  ]
27  sources_cpp = [ rebase_path("${NFC_DIR}/interfaces/inner_api/common/ce_payment_services_parcelable.cpp") ]
28  log_domainid = "0xD000301"
29  log_tag = "Nfc_Hce_Session"
30  part_name = "nfc"
31  subsystem_name = "communication"
32}
33
34config("nfc_inner_kits_config") {
35  visibility = [ ":*" ]
36  defines = [ "DEBUG" ]
37  cflags_cc = [ "-fexceptions" ]
38
39  include_dirs = []
40}
41
42config("nfc_inner_kits_public_config") {
43  visibility = [ ":*" ]
44
45  include_dirs = [
46    "${target_gen_dir}",
47    "$NFC_DIR/interfaces/inner_api/cardEmulation",
48    "$NFC_DIR/interfaces/inner_api/common",
49    "$NFC_DIR/interfaces/inner_api/controller",
50  ]
51}
52
53ohos_shared_library("nfc_inner_kits_card_emulation") {
54  sanitize = {
55    cfi = true
56    boundary_sanitize = true
57    integer_overflow = true
58    cfi_cross_dso = true
59    debug = false
60    ubsan = true
61  }
62  branch_protector_ret = "pac_ret"
63  sources = [
64    "cardEmulation.cpp",
65    "hce_cmd_callback_stub.cpp",
66    "hce_service.cpp",
67  ]
68
69  configs = [ ":nfc_inner_kits_config" ]
70
71  public_configs = [ ":nfc_inner_kits_public_config" ]
72
73  deps = [
74    ":libnfc_hce_interface_proxy",
75    ":nfc_hce_interface",
76    "../common:nfc_inner_kits_common",
77    "../controller:nfc_inner_kits_controller",
78  ]
79
80  external_deps = [
81    "ability_base:want",
82    "ability_base:zuri",
83    "ability_runtime:dataobs_manager",
84    "bundle_framework:appexecfwk_base",
85    "c_utils:utils",
86    "hilog:libhilog",
87    "ipc:ipc_core",
88    "samgr:samgr_proxy",
89  ]
90
91  part_name = "nfc"
92  subsystem_name = "communication"
93}
94