• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-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("//base/security/access_token/access_token.gni")
15import("//build/ohos.gni")
16
17ohos_prebuilt_etc("access_token.rc") {
18  source = "access_token.cfg"
19  relative_install_dir = "init"
20  subsystem_name = "security"
21  part_name = "access_token"
22}
23
24if (is_standard_system) {
25  ohos_shared_library("accesstoken_manager_service") {
26    subsystem_name = "security"
27    part_name = "access_token"
28  version_script = "accesstoken_manager_service.map"
29
30    include_dirs = [
31      "//third_party/sqlite/include/",
32      "main/cpp/include/callback",
33      "main/cpp/include/service",
34      "main/cpp/include/token",
35      "main/cpp/include/permission",
36      "main/cpp/include/database",
37      "main/cpp/include/device",
38      "//base/security/access_token/frameworks/common/include",
39      "//base/security/access_token/frameworks/accesstoken/include",
40      "//base/security/access_token/frameworks/common/include",
41      "//base/security/access_token/frameworks/tokensync/include",
42      "//base/security/access_token/interfaces/innerkits/accesstoken/include",
43      "//base/security/access_token/interfaces/innerkits/privacy/include",
44      "//base/security/access_token/interfaces/innerkits/tokensync/src",
45      "//base/security/access_token/services/common/database/include",
46      "//base/security/access_token/services/tokensyncmanager/include/common",
47      "//third_party/json/include",
48    ]
49
50    include_dirs += access_token_impl_include_dirs
51
52    sources = [
53      "main/cpp/src/callback/callback_manager.cpp",
54      "main/cpp/src/callback/perm_state_callback_death_recipient.cpp",
55      "main/cpp/src/callback/permission_state_change_callback_proxy.cpp",
56      "main/cpp/src/database/data_storage.cpp",
57      "main/cpp/src/database/data_translator.cpp",
58      "main/cpp/src/database/sqlite_storage.cpp",
59      "main/cpp/src/database/token_field_const.cpp",
60      "main/cpp/src/permission/permission_definition_cache.cpp",
61      "main/cpp/src/permission/permission_grant_event.cpp",
62      "main/cpp/src/permission/permission_manager.cpp",
63      "main/cpp/src/permission/permission_policy_set.cpp",
64      "main/cpp/src/permission/permission_validator.cpp",
65      "main/cpp/src/service/accesstoken_manager_service.cpp",
66      "main/cpp/src/service/accesstoken_manager_stub.cpp",
67      "main/cpp/src/token/accesstoken_id_manager.cpp",
68      "main/cpp/src/token/accesstoken_info_manager.cpp",
69      "main/cpp/src/token/hap_token_info_inner.cpp",
70      "main/cpp/src/token/native_token_info_inner.cpp",
71      "main/cpp/src/token/native_token_receptor.cpp",
72    ]
73
74    sources += access_token_impl_sources
75
76    cflags_cc = [ "-DHILOG_ENABLE" ]
77    configs = [ "//base/security/access_token/config:coverage_flags" ]
78
79    if (dlp_permission_enable == true) {
80      cflags_cc += [ "-DSUPPORT_SANDBOX_APP" ]
81      sources += [
82        "main/cpp/src/permission/dlp_permission_set_manager.cpp",
83        "main/cpp/src/permission/dlp_permission_set_parser.cpp",
84      ]
85    }
86
87    deps = [
88      "//base/security/access_token/frameworks/accesstoken:accesstoken_communication_adapter_cxx",
89      "//base/security/access_token/frameworks/common:accesstoken_common_cxx",
90      "//base/security/access_token/interfaces/innerkits/privacy:libprivacy_sdk",
91      "//base/security/access_token/services/accesstokenmanager:access_token.rc",
92      "//base/security/access_token/services/common/database:accesstoken_database_cxx",
93    ]
94
95    deps += [ "etc:param_files" ]
96
97    external_deps = [
98      "c_utils:utils",
99      "dsoftbus:softbus_client",
100      "hisysevent_native:libhisysevent",
101      "hitrace_native:hitrace_meter",
102      "hiviewdfx_hilog_native:libhilog",
103      "init:libbegetutil",
104      "ipc:ipc_core",
105      "safwk:system_ability_fwk",
106    ]
107
108    if (token_sync_enable == true) {
109      cflags_cc += [ "-DTOKEN_SYNC_ENABLE" ]
110
111      sources += [
112        "main/cpp/src/device/atm_device_state_callback.cpp",
113        "main/cpp/src/token/accesstoken_remote_token_manager.cpp",
114        "main/cpp/src/token/token_modify_notifier.cpp",
115      ]
116
117      include_dirs += [
118        "//base/security/access_token/interfaces/innerkits/tokensync/include",
119        "//foundation/distributedhardware/device_manager/interfaces/inner_kits/native_cpp/include",
120      ]
121
122      deps += [ "//base/security/access_token/interfaces/innerkits/tokensync:libtokensync_sdk" ]
123      external_deps += [ "device_manager:devicemanagersdk" ]
124    }
125  }
126}
127