113acfde9Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 213acfde9Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 313acfde9Sopenharmony_ci# you may not use this file except in compliance with the License. 413acfde9Sopenharmony_ci# You may obtain a copy of the License at 513acfde9Sopenharmony_ci# 613acfde9Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 713acfde9Sopenharmony_ci# 813acfde9Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 913acfde9Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1013acfde9Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1113acfde9Sopenharmony_ci# See the License for the specific language governing permissions and 1213acfde9Sopenharmony_ci# limitations under the License. 1313acfde9Sopenharmony_ci 1413acfde9Sopenharmony_ciimport("//build/ohos.gni") 1513acfde9Sopenharmony_ciimport("//build/ohos/sa_profile/sa_profile.gni") 1613acfde9Sopenharmony_ciimport("//foundation/filemanagement/storage_service/storage_service_aafwk.gni") 1713acfde9Sopenharmony_ci 1813acfde9Sopenharmony_ciconfig("storage_manager_config") { 1913acfde9Sopenharmony_ci include_dirs = [ 2013acfde9Sopenharmony_ci "include", 2113acfde9Sopenharmony_ci "../../interfaces/innerkits/storage_manager/native", 2213acfde9Sopenharmony_ci "../storage_daemon/include", 2313acfde9Sopenharmony_ci "../common/include", 2413acfde9Sopenharmony_ci ] 2513acfde9Sopenharmony_ci 2613acfde9Sopenharmony_ci cflags = [ 2713acfde9Sopenharmony_ci "-D_FORTIFY_SOURCE=2", 2813acfde9Sopenharmony_ci "-fstack-protector-strong", 2913acfde9Sopenharmony_ci ] 3013acfde9Sopenharmony_ci} 3113acfde9Sopenharmony_ci 3213acfde9Sopenharmony_ciohos_shared_library("storage_manager") { 3313acfde9Sopenharmony_ci branch_protector_ret = "pac_ret" 3413acfde9Sopenharmony_ci sanitize = { 3513acfde9Sopenharmony_ci integer_overflow = true 3613acfde9Sopenharmony_ci ubsan = true 3713acfde9Sopenharmony_ci boundary_sanitize = true 3813acfde9Sopenharmony_ci cfi = true 3913acfde9Sopenharmony_ci cfi_cross_dso = true 4013acfde9Sopenharmony_ci debug = false 4113acfde9Sopenharmony_ci } 4213acfde9Sopenharmony_ci 4313acfde9Sopenharmony_ci sources = [ 4413acfde9Sopenharmony_ci "ipc/src/storage_manager.cpp", 4513acfde9Sopenharmony_ci "ipc/src/storage_manager_stub.cpp", 4613acfde9Sopenharmony_ci "storage_daemon_communication/src/storage_daemon_communication.cpp", 4713acfde9Sopenharmony_ci "user/src/multi_user_manager_service.cpp", 4813acfde9Sopenharmony_ci "utils/src/storage_utils.cpp", 4913acfde9Sopenharmony_ci ] 5013acfde9Sopenharmony_ci 5113acfde9Sopenharmony_ci defines = [ 5213acfde9Sopenharmony_ci "STORAGE_LOG_TAG = \"StorageManager\"", 5313acfde9Sopenharmony_ci "LOG_DOMAIN = 0xD004300", 5413acfde9Sopenharmony_ci ] 5513acfde9Sopenharmony_ci 5613acfde9Sopenharmony_ci if (storage_service_user_crypto_manager) { 5713acfde9Sopenharmony_ci defines += [ "USER_CRYPTO_MANAGER" ] 5813acfde9Sopenharmony_ci sources += [ "crypto/filesystem_crypto.cpp" ] 5913acfde9Sopenharmony_ci } 6013acfde9Sopenharmony_ci 6113acfde9Sopenharmony_ci if (storage_service_external_storage_manager) { 6213acfde9Sopenharmony_ci defines += [ "EXTERNAL_STORAGE_MANAGER" ] 6313acfde9Sopenharmony_ci sources += [ 6413acfde9Sopenharmony_ci "disk/src/disk_manager_service.cpp", 6513acfde9Sopenharmony_ci "volume/src/notification.cpp", 6613acfde9Sopenharmony_ci "volume/src/volume_manager_service.cpp", 6713acfde9Sopenharmony_ci ] 6813acfde9Sopenharmony_ci } 6913acfde9Sopenharmony_ci 7013acfde9Sopenharmony_ci configs = [ ":storage_manager_config" ] 7113acfde9Sopenharmony_ci 7213acfde9Sopenharmony_ci deps = [ 7313acfde9Sopenharmony_ci "${storage_daemon_path}:storage_common_utils", 7413acfde9Sopenharmony_ci "${storage_interface_path}/innerkits/storage_manager/native:storage_manager_sa_proxy", 7513acfde9Sopenharmony_ci ] 7613acfde9Sopenharmony_ci 7713acfde9Sopenharmony_ci external_deps = [ 7813acfde9Sopenharmony_ci "ability_base:base", 7913acfde9Sopenharmony_ci "ability_base:want", 8013acfde9Sopenharmony_ci "ability_runtime:extensionkit_native", 8113acfde9Sopenharmony_ci "access_token:libaccesstoken_sdk", 8213acfde9Sopenharmony_ci "cJSON:cjson", 8313acfde9Sopenharmony_ci "c_utils:utils", 8413acfde9Sopenharmony_ci "common_event_service:cesfwk_innerkits", 8513acfde9Sopenharmony_ci "hilog:libhilog", 8613acfde9Sopenharmony_ci "hitrace:hitrace_meter", 8713acfde9Sopenharmony_ci "ipc:ipc_single", 8813acfde9Sopenharmony_ci "os_account:os_account_innerkits", 8913acfde9Sopenharmony_ci "safwk:system_ability_fwk", 9013acfde9Sopenharmony_ci "samgr:samgr_proxy", 9113acfde9Sopenharmony_ci ] 9213acfde9Sopenharmony_ci 9313acfde9Sopenharmony_ci if (storage_service_storage_statistics_manager) { 9413acfde9Sopenharmony_ci defines += [ "STORAGE_STATISTICS_MANAGER" ] 9513acfde9Sopenharmony_ci sources += [ 9613acfde9Sopenharmony_ci "account_subscriber/account_subscriber.cpp", 9713acfde9Sopenharmony_ci "storage/src/bundle_manager_connector.cpp", 9813acfde9Sopenharmony_ci "storage/src/storage_monitor_service.cpp", 9913acfde9Sopenharmony_ci "storage/src/storage_status_service.cpp", 10013acfde9Sopenharmony_ci "storage/src/storage_total_status_service.cpp", 10113acfde9Sopenharmony_ci "storage/src/volume_storage_status_service.cpp", 10213acfde9Sopenharmony_ci ] 10313acfde9Sopenharmony_ci external_deps += [ 10413acfde9Sopenharmony_ci "ability_runtime:abilitykit_native", 10513acfde9Sopenharmony_ci "ability_runtime:dataobs_manager", 10613acfde9Sopenharmony_ci "bundle_framework:appexecfwk_base", 10713acfde9Sopenharmony_ci "bundle_framework:appexecfwk_core", 10813acfde9Sopenharmony_ci "data_share:datashare_consumer", 10913acfde9Sopenharmony_ci "eventhandler:libeventhandler", 11013acfde9Sopenharmony_ci "relational_store:native_rdb", 11113acfde9Sopenharmony_ci ] 11213acfde9Sopenharmony_ci 11313acfde9Sopenharmony_ci if (storage_service_graphic) { 11413acfde9Sopenharmony_ci defines += [ "STORAGE_SERVICE_GRAPHIC" ] 11513acfde9Sopenharmony_ci external_deps += [ "data_share:datashare_common" ] 11613acfde9Sopenharmony_ci } 11713acfde9Sopenharmony_ci } 11813acfde9Sopenharmony_ci 11913acfde9Sopenharmony_ci if (enable_screenlock_manager) { 12013acfde9Sopenharmony_ci defines += [ "ENABLE_SCREENLOCK_MANAGER" ] 12113acfde9Sopenharmony_ci external_deps += [ "screenlock_mgr:screenlock_client" ] 12213acfde9Sopenharmony_ci } 12313acfde9Sopenharmony_ci 12413acfde9Sopenharmony_ci subsystem_name = "filemanagement" 12513acfde9Sopenharmony_ci part_name = "storage_service" 12613acfde9Sopenharmony_ci install_enable = true 12713acfde9Sopenharmony_ci} 12813acfde9Sopenharmony_ci 12913acfde9Sopenharmony_cigroup("storage_manager_unit_test") { 13013acfde9Sopenharmony_ci testonly = true 13113acfde9Sopenharmony_ci deps = [ 13213acfde9Sopenharmony_ci "client/test:storage_manager_client_test", 13313acfde9Sopenharmony_ci "innerkits_impl/test:storage_manager_innerkits_test", 13413acfde9Sopenharmony_ci "ipc/test:storage_manager_ipc_test", 13513acfde9Sopenharmony_ci "storage_daemon_communication/test:storage_manager_communication_test", 13613acfde9Sopenharmony_ci "user/test:storage_manager_user_test", 13713acfde9Sopenharmony_ci ] 13813acfde9Sopenharmony_ci 13913acfde9Sopenharmony_ci if (storage_service_user_crypto_manager) { 14013acfde9Sopenharmony_ci deps += [ "crypto/test:storage_manager_crypto_test" ] 14113acfde9Sopenharmony_ci } 14213acfde9Sopenharmony_ci 14313acfde9Sopenharmony_ci if (storage_service_storage_statistics_manager) { 14413acfde9Sopenharmony_ci deps += [ "storage/test:storage_manager_storage_test" ] 14513acfde9Sopenharmony_ci } 14613acfde9Sopenharmony_ci 14713acfde9Sopenharmony_ci if (storage_service_external_storage_manager) { 14813acfde9Sopenharmony_ci deps += [ 14913acfde9Sopenharmony_ci "disk/test:storage_manager_disk_test", 15013acfde9Sopenharmony_ci "volume/test:storage_manager_volume_test", 15113acfde9Sopenharmony_ci ] 15213acfde9Sopenharmony_ci } 15313acfde9Sopenharmony_ci} 154