1# Copyright (c) 2022-2024 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/ohos.gni")
15
16config("userauth_service_context_config") {
17  include_dirs = [ "inc" ]
18}
19
20ohos_source_set("userauth_service_context") {
21  sanitize = {
22    integer_overflow = true
23    ubsan = true
24    boundary_sanitize = true
25    cfi = true
26    cfi_cross_dso = true
27    debug = false
28    blocklist = "../../cfi_blocklist.txt"
29  }
30  branch_protector_ret = "pac_ret"
31  include_dirs = [
32    "inc",
33    "../../frameworks/js/napi/user_auth/inc",
34  ]
35
36  remove_configs = [ "//build/config/compiler:no_exceptions" ]
37
38  sources = [
39    "src/auth_widget_helper.cpp",
40    "src/base_context.cpp",
41    "src/context_appstate_observer.cpp",
42    "src/context_callback_impl.cpp",
43    "src/context_death_recipient.cpp",
44    "src/context_factory.cpp",
45    "src/context_helper.cpp",
46    "src/context_pool_impl.cpp",
47    "src/enroll_context.cpp",
48    "src/identify_context.cpp",
49    "src/keyguard_status_listener.cpp",
50    "src/remote_auth_context.cpp",
51    "src/remote_auth_invoker_context.cpp",
52    "src/remote_auth_service.cpp",
53    "src/remote_executor_stub.cpp",
54    "src/remote_iam_callback.cpp",
55    "src/schedule_holder_context.cpp",
56    "src/simple_auth_context.cpp",
57    "src/trace.cpp",
58    "src/ui_extension_ability_connection.cpp",
59    "src/widget_client.cpp",
60    "src/widget_context.cpp",
61    "src/widget_context_callback_impl.cpp",
62    "src/widget_json.cpp",
63  ]
64
65  deps = [
66    "../../frameworks/native/common:attributes",
67    "../../frameworks/native/common:dfx",
68    "../../services/core:userauth_service_core",
69  ]
70
71  external_deps = [
72    "ability_base:base",
73    "ability_base:want",
74    "ability_base:zuri",
75    "ability_runtime:ability_context_native",
76    "ability_runtime:abilitykit_native",
77    "ability_runtime:app_manager",
78    "ability_runtime:extension_manager",
79    "access_token:libaccesstoken_sdk",
80    "c_utils:utils",
81    "drivers_interface_user_auth:libuser_auth_proxy_3.0",
82    "hilog:libhilog",
83    "hitrace:hitrace_meter",
84    "init:libbegetutil",
85    "napi:ace_napi",
86  ]
87
88  public_configs = [ ":userauth_service_context_config" ]
89
90  configs = [
91    "../base:userauth_service_base_config",
92    "../../common:iam_log_config",
93    "../../common:iam_utils_config",
94    "../../frameworks/native/ipc:userauth_client_ipc_config",
95    "../remote_connect:userauth_service_remote_connect_config",
96  ]
97
98  subsystem_name = "useriam"
99  part_name = "user_auth_framework"
100}
101