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("//base/security/access_token/access_token.gni") 15import("//build/ohos.gni") 16 17ohos_prebuilt_etc("privacy.rc") { 18 source = "privacy.cfg" 19 relative_install_dir = "init" 20 subsystem_name = "security" 21 part_name = "access_token" 22} 23 24group("privacymanager") { 25 if (is_standard_system && ability_base_enable == true) { 26 deps = [ 27 "//base/security/access_token/services/privacymanager:privacy_manager_service", 28 "//base/security/access_token/services/privacymanager/sa_profile:privacy_sa_profile_standard", 29 ] 30 } 31} 32 33if (is_standard_system && ability_base_enable == true) { 34 ohos_shared_library("privacy_manager_service") { 35 subsystem_name = "security" 36 part_name = "access_token" 37 version_script = "libprivacy_map" 38 39 include_dirs = [ 40 "include/active", 41 "include/common", 42 "include/database", 43 "include/record", 44 "include/sensitive", 45 "include/sensitive/ability_manager/", 46 "include/sensitive/app_manager/", 47 "include/sensitive/audio_manager/", 48 "include/sensitive/camera_manager/", 49 "include/sensitive/window_manager/", 50 "include/service", 51 "//base/security/access_token/frameworks/privacy/include", 52 "//base/security/access_token/frameworks/common/include", 53 "//base/security/access_token/interfaces/innerkits/accesstoken/include", 54 "//base/security/access_token/interfaces/innerkits/privacy/include", 55 "//base/security/access_token/services/common/database/include", 56 "//third_party/json/include", 57 "//third_party/sqlite/include/", 58 "//foundation/graphic/graphic_2d/frameworks/surface/include", 59 ] 60 61 sources = [ 62 "src/active/active_status_callback_manager.cpp", 63 "src/active/perm_active_status_callback_death_recipient.cpp", 64 "src/active/perm_active_status_change_callback_proxy.cpp", 65 "src/active/state_change_callback_proxy.cpp", 66 "src/common/constant.cpp", 67 "src/common/memory_guard.cpp", 68 "src/common/privacy_field_const.cpp", 69 "src/common/time_util.cpp", 70 "src/database/data_translator.cpp", 71 "src/database/permission_used_record_db.cpp", 72 "src/record/on_permission_used_record_callback_proxy.cpp", 73 "src/record/permission_record.cpp", 74 "src/record/permission_record_manager.cpp", 75 "src/record/permission_record_repository.cpp", 76 "src/record/permission_used_record_cache.cpp", 77 "src/sensitive/ability_manager/ability_manager_privacy_client.cpp", 78 "src/sensitive/ability_manager/ability_manager_privacy_death_recipient.cpp", 79 "src/sensitive/ability_manager/ability_manager_privacy_proxy.cpp", 80 "src/sensitive/app_manager/app_manager_death_recipient.cpp", 81 "src/sensitive/app_manager/app_manager_privacy_client.cpp", 82 "src/sensitive/app_manager/app_manager_privacy_proxy.cpp", 83 "src/sensitive/app_manager/app_state_data.cpp", 84 "src/sensitive/app_manager/app_status_change_callback.cpp", 85 "src/sensitive/audio_manager/audio_global_switch_change_stub.cpp", 86 "src/sensitive/audio_manager/audio_manager_privacy_client.cpp", 87 "src/sensitive/audio_manager/audio_manager_privacy_death_recipient.cpp", 88 "src/sensitive/audio_manager/audio_manager_privacy_proxy.cpp", 89 "src/sensitive/camera_manager/camera_manager_privacy_client.cpp", 90 "src/sensitive/camera_manager/camera_manager_privacy_death_recipient.cpp", 91 "src/sensitive/camera_manager/camera_manager_privacy_proxy.cpp", 92 "src/sensitive/camera_manager/camera_service_callback_stub.cpp", 93 "src/sensitive/window_manager/window_manager_privacy_agent.cpp", 94 "src/sensitive/window_manager/window_manager_privacy_client.cpp", 95 "src/sensitive/window_manager/window_manager_privacy_death_recipient.cpp", 96 "src/sensitive/window_manager/window_manager_privacy_proxy.cpp", 97 "src/service/privacy_manager_service.cpp", 98 "src/service/privacy_manager_stub.cpp", 99 ] 100 101 if (use_musl) { 102 if (use_jemalloc && use_jemalloc_dfx_intf) { 103 defines = [ "CONFIG_USE_JEMALLOC_DFX_INTF" ] 104 } 105 } 106 cflags_cc = [ "-DHILOG_ENABLE" ] 107 configs = [ "//base/security/access_token/config:coverage_flags" ] 108 109 deps = [ 110 "//base/security/access_token/frameworks/common:accesstoken_common_cxx", 111 "//base/security/access_token/frameworks/privacy:privacy_communication_adapter_cxx", 112 "//base/security/access_token/interfaces/innerkits/accesstoken:libaccesstoken_sdk", 113 "//base/security/access_token/services/common/database:accesstoken_database_cxx", 114 "//base/security/access_token/services/privacymanager:privacy.rc", 115 ] 116 117 external_deps = [ 118 "ability_base:want", 119 "c_utils:utils", 120 "hisysevent_native:libhisysevent", 121 "hiviewdfx_hilog_native:libhilog", 122 "ipc:ipc_core", 123 "safwk:system_ability_fwk", 124 "samgr:samgr_proxy", 125 ] 126 } 127} 128